US5485606A - System and method for storing and retrieving files for archival purposes - Google Patents

System and method for storing and retrieving files for archival purposes Download PDF

Info

Publication number
US5485606A
US5485606A US07/905,083 US90508392A US5485606A US 5485606 A US5485606 A US 5485606A US 90508392 A US90508392 A US 90508392A US 5485606 A US5485606 A US 5485606A
Authority
US
United States
Prior art keywords
file
operating system
computer system
information
directory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
US07/905,083
Inventor
Christopher W. Midgdey
Richard S. Hunsche
Mark L. Weaver
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Quantum Corp
Original Assignee
Conner Peripherals Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Conner Peripherals Inc filed Critical Conner Peripherals Inc
Priority to US07/905,083 priority Critical patent/US5485606A/en
Assigned to ARCHIVE CORPORATION reassignment ARCHIVE CORPORATION MERGER (SEE DOCUMENT FOR DETAILS). Assignors: IRWIN MAGNETIC SYSTEMS, INC.
Assigned to CONNER PERIPHERALS, INC. reassignment CONNER PERIPHERALS, INC. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: ARCHIVE CORPORATION
Assigned to CONNER PERIPHERALS, INC. reassignment CONNER PERIPHERALS, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ARCHIVE CORPORATION
Publication of US5485606A publication Critical patent/US5485606A/en
Application granted granted Critical
Assigned to SEAGATE PERIPHERALS, INC. reassignment SEAGATE PERIPHERALS, INC. CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: CONNER PERIPHERALS, INC.
Assigned to SEAGATE TECHNOLOGY, INC. reassignment SEAGATE TECHNOLOGY, INC. MERGER (SEE DOCUMENT FOR DETAILS). Assignors: SEAGATE PERIPHERALS,INC.
Assigned to SEAGATE PERIPHERALS, INC. reassignment SEAGATE PERIPHERALS, INC. SEE RECORDING AT REEL 8568, FRAME 0400. Assignors: CONNER PERIPHERALS, INC.
Assigned to SEAGATE REMOVABLE STORAGE SOLUTIONS LLC reassignment SEAGATE REMOVABLE STORAGE SOLUTIONS LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SEAGATE TECHNOLOGY, INC.
Assigned to CHASE MANHATTAN BANK, AS COLLATERAL AGENT, THE reassignment CHASE MANHATTAN BANK, AS COLLATERAL AGENT, THE SECURITY AGREEMENT Assignors: SEAGATE REMOVABLE STORAGE SOLUTIONS LLC
Assigned to CERTANCE LLC (FORMERLY SEAGATE REMOVABLE STORAGE SOLUTIONS LLC) reassignment CERTANCE LLC (FORMERLY SEAGATE REMOVABLE STORAGE SOLUTIONS LLC) RELEASE Assignors: JPMORGAN CHASE BANK
Assigned to CERTANCE LLC reassignment CERTANCE LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SEAGATE REMOVABLE STORAGE SOLUTIONS, LLC
Assigned to KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT reassignment KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT INTELLECTUAL PROPERTY SECURITY AGREEMENT (SECOND LIEN) Assignors: QUANTUM CORPORATION
Assigned to KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT reassignment KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AGENT INTELLECTUAL PROPERTY SECURITY AGREEMENT (FIRST LIEN) Assignors: QUANTUM CORPORATION
Assigned to CERTANCE LLC reassignment CERTANCE LLC CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: SEAGATE REMOVABLE STORAGE SOLUTIONS LLC
Assigned to QUANTUM CORPORATION reassignment QUANTUM CORPORATION TERMINATION OF SECURITY INTEREST IN PATENTS REEL 018269 FRAME 0005 AND REEL 018268 FRAME 0475 Assignors: KEY BANK, NATIONAL ASSOCIATION
Assigned to QUANTUM CORPORATION reassignment QUANTUM CORPORATION RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL 018303 FRAME 0228 Assignors: KEYBANK NATIONAL ASSOCIATION
Assigned to CREDIT SUISSE reassignment CREDIT SUISSE SECURITY AGREEMENT Assignors: ADVANCED DIGITAL INFORMATION CORPORATION, CERTANCE (US) HOLDINGS, INC., CERTANCE HOLDINGS CORPORATION, CERTANCE LLC, QUANTUM CORPORATION, QUANTUM INTERNATIONAL, INC.
Assigned to QUANTUM CORPORATION reassignment QUANTUM CORPORATION PATENT ASSIGNMENT Assignors: CERTANCE LLC
Assigned to WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT reassignment WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT SECURITY AGREEMENT Assignors: QUANTUM CORPORATION
Assigned to ADVANCED DIGITAL INFORMATION CORPORATION, CERTANCE HOLDINGS CORPORATION, QUANTUM CORPORATION, CERTANCE (US) HOLDINGS, INC., QUANTUM INTERNATIONAL, INC., CERTANCE, LLC reassignment ADVANCED DIGITAL INFORMATION CORPORATION RELEASE BY SECURED PARTY Assignors: CREDIT SUISSE, CAYMAN ISLANDS BRANCH (FORMERLY KNOWN AS CREDIT SUISSE), AS COLLATERAL AGENT
Anticipated expiration legal-status Critical
Assigned to QUANTUM CORPORATION reassignment QUANTUM CORPORATION RELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS). Assignors: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B27/00Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
    • G11B27/10Indexing; Addressing; Timing or synchronising; Measuring tape travel
    • G11B27/19Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier
    • G11B27/28Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording
    • G11B27/32Indexing; Addressing; Timing or synchronising; Measuring tape travel by using information detectable on the record carrier by using information signals recorded by the same method as the main recording on separate auxiliary tracks of the same or an auxiliary record carrier
    • G11B27/327Table of contents
    • G11B27/328Table of contents on a tape [TTOC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/11File system administration, e.g. details of archiving or snapshots
    • G06F16/113Details of archiving
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F2003/0697Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers device management, e.g. handlers, drivers, I/O schedulers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0682Tape device
    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11BINFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
    • G11B2220/00Record carriers by type
    • G11B2220/90Tape-like record carriers
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99953Recoverability

Definitions

  • the present invention relates to systems and methods for storing computer files on magnetic medium or the like and in particular to such systems and methods for storing a potentially large number of such files for archival purposes.
  • CMOS random access memories provides the fastest response time, but has the highest cost per byte.
  • magnetic tape has the slowest response time, but the lowest cost per byte stored. This cost factor makes magnetic tape the preferred medium for archiving data files for long term storage.
  • Information processed by a computer is organized into distinct units called files, each of which contains related data.
  • each file commonly contains descriptive information such as the title of the file and the date of its creation or last revision.
  • each file contains control information specific to the operating system software with which the file is created that establishes the manner in which the operating system software processes the data.
  • MS DOS operating system software which is commercially available, creates specific information used to determine if a file belongs to the system or the user.
  • Macintosh operation system software provides information words related to Icons, colors, fonts and the like, all of which pertain to graphic display control.
  • Unix operating system software includes specific information identifying the file type and the permissive user access to the file.
  • user-created files, or user files are stored or backed-up from a computer system utilizing a particular operating system on a storage medium by creating a directory file and a corresponding data file on the medium.
  • the directory file includes information identifying the operating system of the storing computer system and a field in which information is stored that pertains to the user file and is nonspecific to the particular operating system of the storing computer system.
  • the directory file additionally includes a field in which information is stored that pertains to the user file and is specific to the particular operating system of the storing computer system.
  • the user-created file can be restored by a computer system utilizing a different operating system by retrieving only the data file and the portion of the directory file including information nonspecific to the particular operating system. If restored by a computer system utilizing the same or a compatible operating system, the data file and all portions of the directory file are retrieved.
  • a file is restored from storage medium by examining the directory file to determine if the restoring operating system is substantially the same as, or is different from, the operating system identified in the directory file as the one with which the file was created. If the operating systems are substantially identical, then the entire file contents may be restored. If the operating systems are different, then the restoring system ignores information in the field in which information specific to the operating system is located. In addition to the data portion of the file, only information in the directory file fields in which information nonspecific to the operating system is stored, is retrieved. The retrieved nonspecific information is tested against the requirements of the restoring operating system and, if not fully compatible with the restoring operating system, then a conversion algorithm that will accomplish all conceivable conversions is applied to ensure compatability.
  • a data file and directory file is created for each file selected by a user for inclusion in a backup set.
  • Each data file includes a header which is sufficient to provide restoring of the data file and reconstruction of the corresponding directory file if the directory file corresponding to the data file is destroyed.
  • the directory file contains information indicating the location of the data file on the tape and a backup set directory file is created containing information indicating the location of the directory files for the backup set on the tape.
  • the backup set directory allows the user to select files within the set to be restored by retrieving the directory files and data files for the selected files.
  • the data file header is bypassed to retrieve the data. If, however, the corresponding directory file is destroyed, the header is retrieved to reconstruct a directory file for the data file.
  • FIG. 1 illustrates the physical magnetic medium format of the backup blocks
  • FIG. 2 illustrates the content of a file in the backup set directory
  • FIG. 3 illustrates the content of a directory file in the directory blocks
  • FIG. 4 illustrates the content of a data file in the data blocks including a file header
  • FIG. 5 is a flow chart of the backup function
  • FIGS. 6, 7a and 7b are flow charts of the restore function.
  • FIG. 8 is a flow chart of the reconstruction function.
  • a user,created file or user-file is a file established with a computer system and will be assumed to be stored on the system's hard disk, although it may be stored on a floppy disk or in random access memory.
  • An operating system is software controlling fundamental interactions between portions or components of the computer hardware with which it is used.
  • Information means bytes or words used in a computer system and is collectively applied to data, control and/or descriptive types of such information.
  • the backup system of the present invention includes a multi-track magnetic tape capable of storing 80-120 megabytes of data information on a single data cartridge.
  • the construction of the backup unit is generally well-known to those having ordinary skill in the art, for example as illustrated in U.S. Pat. Nos. 4,472,750; 4,468,712 and 4,647,994.
  • Such data tape drives have been manufactured and sold by the assignee of the present application.
  • the data cartridges are those sold as Models TC200 and TC400 by Irwin Magnetic Systems, Inc., of Ann Arbor, Mich.
  • the invention is illustrated in a magnetic tape system, it is capable of implementation in other storage media, such as magnetic hard disks and optical disks.
  • FIG. 1 The physical format of a storage medium 10 is illustrated in FIG. 1.
  • Medium 10 which in the illustrated embodiment is a magnetic tape, is divided into units or blocks 12 having uniform pre-established size which, in the illustrated embodiment, is either 16 or 29 kilobytes per block.
  • the blocks 12 are physically formatted beginning at the top of FIG. 1 and moving downwardly. However, information may be written to or retrieved from medium 10 by movement nonsequentially between blocks 12.
  • blocks 12 are formatted in a serpentine-like fashion on the tracks of a multiple-track magnetic tape beginning at the leading portion of the tape to the end of the first track, then in a reverse direction along the second track, back to the beginning of the tape, and so forth.
  • the first block 12 is a tape header 20 which identifies the version of backup software (which is distinct from the operating system software of the computer system performing the backup function) as well as the date on which the last backup was performed.
  • the next logical block is a defect management block 22 which controls the formatting to the medium 10 to avoid defective portions of the medium, as is well-known in the art.
  • the third and fourth logical blocks include a block allocation table (BAT) block 24 and a backup set directory block 26.
  • BAT block allocation table
  • a file 26a (FIG. 2) is written in backup set directory 26.
  • Files 26a are stacked in the backup set directory, i.e., subsequent backup set files are added to the stack and deleted backup set files are removed from the stack, with subsequent backup set files 26a being moved up in the stack.
  • Each file 26a includes information pertinent to the backup set and pointers to relevant locations in the Block Allocation Table block.
  • a directory file 28a (FIG. 3) is formatted and written in a directory block 28.
  • More than one directory block 28 is typically assigned for medium 10 and the portion of medium 10 formatted for directory blocks may be as much as ten percent (10%).
  • a data file 30a (FIG. 4) is formatted and written in one or more data blocks 30 or a portion thereof. Data blocks 30 occupy the majority of the medium 10.
  • a directory file 28a and a data file 30a are created and stored on tape 10.
  • a backup set file 26a is created and stored on the tape in the backup set directory block 26.
  • Block allocation table 24 includes an array of memory locations, each of which corresponds to one block 12 of the tape. As the system stores directory files 28a in directory blocks 28 for a given backup set, the block or blocks in which the directory files are stored are written in block allocation table 24 and interconnected with the starting locations for the backup set with pointers in a chain-like fashion. Likewise, a data block chain is established in the block allocation table corresponding to the data blocks 30 in which the data files 30a are written for a given backup set. The starting locations for the directory block chain and the data block chain are addressed by pointers from the backup set directory file 26a for the corresponding backup set.
  • Each backup set directory file 26a includes a field 32, that is null-terminated, for a user-assigned backup set name (FIG. 2).
  • Field 32 is followed by a date and time field 33 in which the backup software stores the date and time that the backup set was created or last modified.
  • File 26a further includes user-assigned password field 34 and set description field 35, both of which are null-terminated fields.
  • File 26a further includes a field 36 for storing a designation specified by the backup software of the operating system performing the backup function. The information stored in field 36 is selected by the backup software from a set of numbers preassigned to the various then-known operating systems supported by the backup software. It is to be noted that backup sets created with various different operating systems may be archived on the same tape 10.
  • a field 37 is provided for indicating the tape number for backup sets that begin on another tape 10 and a field 38 is provided for indicating that the set is continued on another tape.
  • Backup set directory file 26a additionally includes a field 41 indicating the size of each directory file in the backup set. For reasons that will be set forth in detail below, the size of the directory files is dependent on the operating system that establishes the backup set.
  • File 26a additionally includes pointer fields 39 and 40 which store pointers to the memory locations in the block allocation table 24 at which the block allocation chains for the backup set directory files 28a and the data files 30a begin.
  • the data structure of the block allocation table 24 and the backup set directory files 26a provide mapping to the directory files and data files for each file in a given backup set.
  • Each directory file 28a which corresponds to one user file in the backup set, includes a field 42 in which the backup software stores the offset from the beginning of the data files that wake up the corresponding backup set at which the data file 30a corresponding to this directory file 28a is located (FIG. 3).
  • Directory file 28a additionally includes a field 43 for storing the date when the corresponding user file was created or last changed. Because the date is in the format of the operating system that creates the user file, and presumably also the backup set, the backup software translates this number to a commonly-used format, such as Unix format.
  • Each directory file 28a additionally includes a field 44 for storing the size of the corresponding data file 30a and a field 45 for storing an attribute word whose individual bits are assigned to designating (1) whether the corresponding data file is a continuation from a previous tape (split file), (2) whether the corresponding data file is continued onto another tape (incomplete file), and (3) whether the corresponding data file is a hidden file.
  • Each directory file 28a additionally includes a name field 46 in which the "name" assigned to the user file, typically by the user, is stored. Because the "name" may vary in length as a function of the particular operating system which created the user file, and which presumably also performed the backup function, field 46 is of indeterminate length and is null-terminated. The file name stored in field 46 is fully specified, including the path of the file in the directory tree of the disk or other memory device from which the user file is backed up.
  • Directory file fields 42-46 define common fields 48 because they store information pertinent to the corresponding data file 30a that is nonspecific to the operating system backing up, or the operating system that will subsequently be restoring, the corresponding user file. Thus, the information in fields 48 will be retrieved during restoration of the corresponding user file regardless of the operating system performing the restoration.
  • Each directory file 28a additionally includes an operating system specific field area 49 of indeterminate length.
  • the backup software directs to this field area 49 the portions of a user file which remain after excluding the information of the user file which is data and the information of the user file which is assigned to common fields 48. This would include, for example, control words which determine how a specific operating system processes the data words or access information which determines allowed user access to the data in the file. Because the words stored in field area 49 are specific to the operating system which created the backup set and presumptively also the user file, the content of field area 49 is retrieved only when restoring is being performed by an operating system which is substantially the same as, or compatible with, the operating system that backed up the corresponding user file.
  • each directory file 28a in the backup set which is stored in field 41 in the corresponding backup set directory file 26a (FIG. 2), is utilized by the restoring software to offset to the next directory file 28 a to bypass the field area 49 when the backup set is restored with an operating system different from that performing the backup function.
  • Data information for each user-created file included in a backup set is stored on medium 10 in a data file 30a (FIG. 4).
  • the date information is written in a conventional format such as Motorola Byte-Ordering and the data files 30a are stored in data blocks 30.
  • the previously-described system including the block allocation table 24, backup set directory 26, directory blocks 28 and data blocks 30 is sufficient to backup and restore user files using different operating systems and allows restoring of selective files from a backup set
  • enhanced reliability is provided in the illustrated embodiment by the formatting of a header 50 as a part of each data file 30a stored in data blocks 30. If the corresponding directory file 28a is destroyed or accidentally erased, information stored in the common fields and operating system specific fields is redundantly provided in header 50 to allow the directory file to be reconstructed.
  • the redundant data in header 50 is sufficient to allow reconstruction of the directory file to the extent that restoring of the user file from an operating system different from that which backed up the user file can be performed.
  • Each header 50 includes a signature string field 52 to store an identification to indicate the start of a header and a header length field 53 to provide offsets to the data area 54 from the beginning of the header.
  • the purpose of providing header lengths information is to allow the software to offset to data field 54 under normal situations when it is unnecessary to read the header.
  • Header 50 further includes field 55 identifying the code of the operating system performing the backup which is identical information to that provided in field 36.
  • An attribute word is stored in field 56 essentially identical to that stored in field 45.
  • a field 57 is provided in which the backup software stores an indication of the size of the data file for use in reconstruction of directory files, as will be set forth in more detail below.
  • Header 50 additionally includes a field 60 in which the backup software identifies the version number of the backup software creating the header in order to facilitate forward compatibility of the backup software.
  • Header 30a additionally includes a field 61 for the "name" assigned to the user file.
  • the file name has an indeterminate length because it is a function of the operating system performing the backup function. Accordingly, field 61 has an indeterminate size and is null-terminated.
  • the file name stored in field 61 is fully specified, including the path of the file in the directory tree of the disk from which the file is backed up.
  • Header 50 additionally includes a field area 62 in which the backup software stores the same information stored in operating system specific field area 49 of directory area 28a.
  • a field 63 stores an offset value to the name field 61 of file 30a in order to allow the directory file reconstruction software to bypass operating system specific field area 62 and locate field 61.
  • Header 50 additionally includes a field 64 to provide offset into the remainder of file 30a if the file is separated in data blocks 30 of storage medium 10.
  • Field 64 provides the linkage that would normally be performed in the block allocation table. This information is provided in header 50 to allow restoring independently of the block allocation table 24.
  • the backup function 100 is initiated at 102 and includes obtaining from the user, through an input device such as a keyboard, a backup set name, a backup set description and a password.
  • the system additionally prompts the user to identify the user files on the system disk that the user desires to backup to tape 10.
  • the program then proceeds to read (104), and store in a global variable, the contents of tape header 20.
  • the program then proceeds to read and store (106) the components of the block allocation table and read and store (108) the contents of backup set directory 26.
  • the purpose of reading the tape header, block allocation table and backup set directory is to determine the allocated portions of the backup medium and the existing backup sets to ascertain, if necessary, whether the user wishes to overwrite any existing backup sets.
  • the program proceeds to examine (110) the directory of the hard disk, or other memory store selected by the user from which files are to be backed up, to determine if a file is found on the disk. If so, the program determines at 112 if the located file was selected by the user at 102 for inclusion in the backup set. If not, the program returns to 110 to locate the next file on the disk. If it is determined at 112 that the located file was selected by the user to be included in the backup set, the full file name, including the path to the file in the hard disk directory tree, the date the user file was created or last revised, the file attributes specific to the operating system that established the file and the entire data contents of the user file are retrieved.
  • the program proceeds to 114 where it is determined whether sufficient space remains in a temporary store, in which directory files are retained during the backup function, to add a directory file for the selected user file. If it is determined at 114 that space is available, the program locks open (116) the temporary store in order to create a directory file 28a and add (118) the directory file to the developing directory tree in the temporary store. The program then proceeds to create (120) a header 50 for the data portion of the selected user file. The corresponding data file 30a including header 50 and data 54 for the selected user file is then written to the tape 10 at 122. The program then returns to 110 for examination of the next file on the hard disk.
  • the program determines at 116 if this is the first pass through this portion of the routine. If so, the offset in the directory block 28 for the set of directory files in the backup set is calculated (126), and the directory files 28a are written (128) to medium 10 to clear the temporary store. Once the temporary store has been emptied, the program determines at 130 if additional user files have been selected for inclusion in the backup set that have not been written to the tape. If so, the program examines (110) the next file on the hard disk and determines (112) if the located file has been selected by the user for inclusion in the backup set.
  • the program determines at 110 that all files on the hard disk have been examined, the program proceeds to 124 to determine whether this is the first pass through this portion of the routine. If so, the offset in the directory block 28 for the set of directory files in the backup set is calculated (126) and the directory files are written (128) to medium 10. If it is determined at 124 that this is not the first pass through this portion of the routine, then the directory offset has been established and control passes to 128 for writing of the additional directory files to the medium.
  • the block allocation table is prepared/updated and written (132) to block 24.
  • the backup set directory is then prepared/updated and written (134) to block 26.
  • the content of the tape header is updated and written (136) to block 20 to complete the backup function and return (138) control to the operating system of the computer system performing the backup function 100.
  • the program opens (204) the file system by reading the contents of the tape header 20, the block allocation table 24 and the backup set directory 26 and stores the contents in a global variable.
  • the function opens (206) a backup set by obtaining from the user the file name of the backup set from which it is desired to restore some or all of the files in the set.
  • the content of the backup set directory file 26a for the selected backup set is retrieved and the pointers in fields 39 and 40 are applied to the block allocation table to determine the locations in the directory blocks 28 and data blocks 30 where the directory files and data files for the selected backup set are located.
  • the user is prompted to select individual files from the selected backup set to restore and the function retrieves (208) the directory file 28a for the first file in the backup set.
  • the program proceeds to 210 where it will be determined that a file was found because each backup set contains at least one file.
  • the program determines at 212 whether the retrieved file has been selected by the user for restoring to the hard disk. If not, the function attempts to retrieve (214) the next file in the backup set and, if a file is found (210), it is determined at 210 whether the file has been selected by the user for restoring to the hard disk.
  • the program proceeds to 216 where it is determined whether space is available in a temporary store allocated for development of a directory tree of selected files. If space is available, the program proceeds to 218 where the content of the directory file corresponding to the selected user file is examined and decoded for inclusion in the directory tree developed in the temporary store.
  • Decoding of the directory file 28a is illustrated in more detail in FIG. 7a.
  • the program copies (220) the information in common fields area 48 and determines at 222, by examining the content of field 36 in the directory file, whether the operating system performing the restore function 200 is the same as that which performed the backup function 100 to establish the selected backup set. If it is determined at 222 that the same operating system created the backup set containing the user file as is presently restoring the user file, the information in all fields of file 28a, including the information in operating system specific field 49, is retrieved and applied to the directory tree. If it is determined at block 222 that the operating system performing the restore function 200 is not the same as that identified in field 36 as the operating system that performed the backup function 100, then the information in operating system specific field 49 is ignored.
  • the information in the name field 46 and the information in common fields area 48 is retrieved and it is determined (228) whether the structure of the name information retrieved from the name field is compatible with the operating system performing the restore function 200.
  • a file name is not compatible unless the number of characters in its extension portion, if any, are less than or equal to the number of characters allowed in the extension portion, if any, of the operating system performing the restore function 200 and are all legal characters for the restoring operating system.
  • a file name is not compatible unless the number of characters in the primary portion of the file name is less than or equal to the number of characters allowed in the primary portion of the file name in the operating system performing the restore function and are all legal characters.
  • the function proceeds to 226 where the file name is included in the directory tree entry. If it is determined at 228 that the file name information retrieved from the name field 46 is not compatible, a conversion algorithm is applied (230) to the file name to make it fit the name specifications of the operating system performing the restore function.
  • the conversion algorithm applied at 230 examines the primary portion and extension portion of the file name individually and, for each portion, eliminates any characters that are not recognized as valid name characters by the restoring operating system. The spaces are converted to underscores and a determination is made whether the modification to the name is sufficient to allow it to fit the restoring operating system. If not, then the vowels in the name are eliminated and the name is again examined for fit. If it still doesn't fit, the name portion is truncated to the necessary length in order to fit the restoring operating system. The program passes to 226 where the modified name is included in the directory tree entry for the corresponding user file.
  • the program proceeds to 214 (FIG. 6) for attempted retrieval of the next file, to 210 to determine if a file has been found and, if found, to 212 to determine if the found file is selected by the user for restoring to the system's disk. If a user file is found and selected, an entry to the directory tree for the file is added at 218 provided it is determined at 216 that sufficient space is available in the temporary store allocated for the directory tree.
  • a directory tree of selected user files is developed.
  • the data files for the selected user files are not yet retrieved from the tape. Rather, the entire directory tree of files selected by the user for restoring from the selected backup set is first completed such that the actual restoring of the data file portion of the selected user files occurs uninterrupted during a period of exclusive access by function 200 to the system's disk.
  • the purpose is to avoid file modification by another user on a network that may be adding and deleting files to the system's disk.
  • the temporary store in which the directory tree is developed for restore function 200 will be sufficiently large to develop the full directory tree for the selected files of the selected backup set.
  • the program copies (232) the data files corresponding to entries in the directory tree from the tape.
  • the data files are combined with the contents of the directory tree to restore the corresponding user files which are written to the disk or other memory device of the restoring system.
  • the portion of the directory tree for each file copied to the disk is eliminated to make room in the temporary store.
  • the copy function 232 is illustrated in detail in FIG. 7b. From block 216, the program determines at 234 that additional files remain to be copied and creates (236) a user file on the hard disk from the information added at 218 to the directory tree for that file. The function then seeks (238) the file header 50 for the corresponding data file 32a from the offset information in field 42 of the corresponding directory file 28a. The data 54 is copied at 240 from medium 10 to the disk by offsetting from the beginning of the header according to the header length information in field 53. The corresponding data file is closed at 242 and the function returns to 234 to determine if additional data files remain to be copied. If not, then the "copy files" routine 232 is exited. After the data files corresponding to the entries of the directory tree are copied to the disk and the entries of the directory tree are eliminated, the temporary store in which the directory tree is built will be available for additional entries.
  • the program proceeds to block 242 for copying from medium 10 the files in the directory tree in the same manner previously described at block 232 and as illustrated in FIG. 7b.
  • the backup set is closed at 244 by eliminating or revising the file 26a in the backup set directory for the selected backup set and the system is closed at 246 by repeating the functions performed at blocks 132-136 to update the block allocation table, the backup set directory and the tape header.
  • the function is exited at 248.
  • a reconstruction function 300 may then be performed to reconstruct the defective directory file (FIG. 8).
  • function 300 When function 300 is invoked, the beginning sector of each data block 30 is sequentially examined (302) for identification of a valid signature string as stored in field 52. When a valid signature string is identified (304), then the entire data file 30a, including header 50 and data 54 is retrieved (306) and is used by the reconstruction function to develop (308) a directory file 28a.
  • the directory file is reconstructed from information in header 50 and may be formatted to a directory block 28 of a new medium 10.
  • the program then offsets (310) to the end of the located file on the basis of the file size information stored in field 57 of header 50 and determines (312) whether a valid signature string, indicating the beginning of the next data file, has been located. If so, the program returns to 306 to retrieve the next data file 30a. If a valid signature string is not located (312) then the program returns to 302 and begins block-by-block scanning until the identification of the signature string indicates another data file has been located.
  • reconstruction routine 300 is conducted at the software vendor because of the infrequences of its use.
  • reconstruction routine 300 could alternatively be supplied as a function adjunct to the backup and restore routines (100, 200) for use by the software user from prompts provided with the reconstruction routine.
  • the present invention By providing the capability of restoring files from a tape written with a different operating system, the present invention most advantageously ensures both forward and backward compatibility. Not only is it possible to archive user files to be retrieved at some future data by a yet undeveloped operating system, the present invention provides a substantial advantage in not requiring the re-release of existing backup/restore software systems when a new operating system is supported. A tape written by a subsequently-added operating system can be restored from an earlier version of the backup software.
  • the serpentine format of a multi-track tape is advantageously used in a preferred embodiment.
  • the first and second tracks are assigned to the header block 20, defect management block 22, BAT block 24, backup set directory block 26 and the directory blocks 28.
  • the third and subsequent tracks are assigned to data blocks.
  • the tape head indexes past the first two tracks easily and quickly by a lateral shift in order to begin writing the data files while the tree of directory files is being developed in a temporary store. After the data files are stored, the head is returned to the first two tracks for writing the remaining directory-related areas. This elimination of sequential scanning through the tape reduces the time required to perform a backup routine significantly.
  • the invention is implemented in the "C" programming language and all information is stored in Motorola Byte-Ordering format.
  • Motorola Byte-Ordering format is capable of implementation by other languages and formats by those skilled in the art.
  • Other changes and modifications in the specifically described embodiment can be carried out without departing from the principles of the invention which is intended to be limited only by the scope of the appended claims, as interpreted according to the principles of patent law including the doctrine of equivalents.

Abstract

A system and method for backing-up, or storing, user-created files to a magnetic tape, or the like, and for subsequently retrieving, or restoring, selected files. Files that are backed-up utilizing one particular operating system software may be restored by a computer system utilizing a different operating system software to provide forward and backward compatibility. A directory file is created for each user file and is written to the tape. Information specific to the manner in which an operating system treats a file is stored in a first field area of the directory file and information non-specific, or common, to all operating systems is stored in a second field area of the directory file. The operating system of the computer system that backed up a file or set of files is identified on the tape and is compared, during file restoration, with the operating system of the restoring computer system to determine if the operating systems are the same or different. If the same, then all portions of the directory file are retrieved for combining with the file data information to restore the file. If different, then only the non-specific information in the common field area is retrieved and used in file restoring. Additionally, enhanced reliability is provided by storing data information from the user-created file in a different area of the tape in a data file having a header containing sufficient information to allow reconstruction of the directory file if destroyed or accidentally erased.

Description

This is a continuation of application Ser. No. 07/377,729 filed on Jul. 10, 1989, now abandoned.
BACKGROUND OF THE INVENTION
The present invention relates to systems and methods for storing computer files on magnetic medium or the like and in particular to such systems and methods for storing a potentially large number of such files for archival purposes.
A wide variety of storage devices has been developed for storing digital data or information generated by and utilized in conjunction with, a digital computer. The selection of an appropriate storage device for a particular application is dictated by several factors including the cost per byte of information stored and the read/write response time. CMOS random access memories (RAM) provides the fastest response time, but has the highest cost per byte. At the other end of the spectrum, magnetic tape has the slowest response time, but the lowest cost per byte stored. This cost factor makes magnetic tape the preferred medium for archiving data files for long term storage.
Information processed by a computer is organized into distinct units called files, each of which contains related data. In addition to the data, each file commonly contains descriptive information such as the title of the file and the date of its creation or last revision. Additionally, each file contains control information specific to the operating system software with which the file is created that establishes the manner in which the operating system software processes the data. By way of example, MS DOS operating system software, which is commercially available, creates specific information used to determine if a file belongs to the system or the user. Macintosh operation system software provides information words related to Icons, colors, fonts and the like, all of which pertain to graphic display control. Unix operating system software includes specific information identifying the file type and the permissive user access to the file.
Although the file data is typically available in standard formats common to the major commercially available operating systems, the remaining information related to a file typically cannot be processed by an operating system different from that which creates the file. Not only is certain control information, which performs specific control functions, not functional with different operating systems, the format of the file name often varies in size and makeup for different operating systems. The result, is that a file created and stored on a medium by one operating system can only be read, or restored, by a computer using substantially the same operating system. While emulators have been developed that provide adaptations between different operating systems, known emulators are specific to the operating systems being adapted from and the operating system being adapted to. Whenever it is desired to include another operating system in the emulator, all prior versions must be reissued to support the new operating system.
Another difficulty with conventional systems and methods for storing files for archival purposes is the batch processing of files to storage. Thus, once archived, individual files cannot be identified and restored separate from the batch of files, which must be restored as a batch. While systems have been proposed that include a directory of individual files stored in a medium, such that a review of the files on the medium and selective restoration of individual files is available, destruction of the directory results in the inability to retrieve the associated data files.
SUMMARY OF THE INVENTION
It is an object of the invention to provide a system and method for storing data files that provides for compatibility with virtually any operating system, including those not yet known, by providing restoring of files with operating system software different than that which wrote the file.
According to one aspect of the invention, user-created files, or user files, are stored or backed-up from a computer system utilizing a particular operating system on a storage medium by creating a directory file and a corresponding data file on the medium. The directory file includes information identifying the operating system of the storing computer system and a field in which information is stored that pertains to the user file and is nonspecific to the particular operating system of the storing computer system. The directory file additionally includes a field in which information is stored that pertains to the user file and is specific to the particular operating system of the storing computer system. In accordance with this aspect of the invention, the user-created file can be restored by a computer system utilizing a different operating system by retrieving only the data file and the portion of the directory file including information nonspecific to the particular operating system. If restored by a computer system utilizing the same or a compatible operating system, the data file and all portions of the directory file are retrieved.
According to another aspect of the invention, a file is restored from storage medium by examining the directory file to determine if the restoring operating system is substantially the same as, or is different from, the operating system identified in the directory file as the one with which the file was created. If the operating systems are substantially identical, then the entire file contents may be restored. If the operating systems are different, then the restoring system ignores information in the field in which information specific to the operating system is located. In addition to the data portion of the file, only information in the directory file fields in which information nonspecific to the operating system is stored, is retrieved. The retrieved nonspecific information is tested against the requirements of the restoring operating system and, if not fully compatible with the restoring operating system, then a conversion algorithm that will accomplish all conceivable conversions is applied to ensure compatability.
It is a further object of the invention to provide a system and method for storing files on a magnetic tape which provides the capability for displaying the files stored on the medium and restoring of selected individual files from the storage medium notwithstanding the destruction of the directory portion of the medium. In accordance with another aspect of the invention, for each file selected by a user for inclusion in a backup set, a data file and directory file is created. Each data file includes a header which is sufficient to provide restoring of the data file and reconstruction of the corresponding directory file if the directory file corresponding to the data file is destroyed. The directory file contains information indicating the location of the data file on the tape and a backup set directory file is created containing information indicating the location of the directory files for the backup set on the tape. The backup set directory allows the user to select files within the set to be restored by retrieving the directory files and data files for the selected files. During performance of the normal restoring function, the data file header is bypassed to retrieve the data. If, however, the corresponding directory file is destroyed, the header is retrieved to reconstruct a directory file for the data file. These and other related objects, advantages and features of this invention will become apparent upon review of the following specification in conjunction with the drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates the physical magnetic medium format of the backup blocks;
FIG. 2 illustrates the content of a file in the backup set directory;
FIG. 3 illustrates the content of a directory file in the directory blocks;
FIG. 4 illustrates the content of a data file in the data blocks including a file header;
FIG. 5 is a flow chart of the backup function;
FIGS. 6, 7a and 7b are flow charts of the restore function; and
FIG. 8 is a flow chart of the reconstruction function.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT I. Tape Format
For the purpose of the following, a user,created file or user-file is a file established with a computer system and will be assumed to be stored on the system's hard disk, although it may be stored on a floppy disk or in random access memory. An operating system is software controlling fundamental interactions between portions or components of the computer hardware with which it is used. Information means bytes or words used in a computer system and is collectively applied to data, control and/or descriptive types of such information.
In the illustrated embodiment, the backup system of the present invention includes a multi-track magnetic tape capable of storing 80-120 megabytes of data information on a single data cartridge. The construction of the backup unit is generally well-known to those having ordinary skill in the art, for example as illustrated in U.S. Pat. Nos. 4,472,750; 4,468,712 and 4,647,994. Such data tape drives have been manufactured and sold by the assignee of the present application. The data cartridges are those sold as Models TC200 and TC400 by Irwin Magnetic Systems, Inc., of Ann Arbor, Mich. Although the invention is illustrated in a magnetic tape system, it is capable of implementation in other storage media, such as magnetic hard disks and optical disks.
The physical format of a storage medium 10 is illustrated in FIG. 1. Medium 10, which in the illustrated embodiment is a magnetic tape, is divided into units or blocks 12 having uniform pre-established size which, in the illustrated embodiment, is either 16 or 29 kilobytes per block. The blocks 12 are physically formatted beginning at the top of FIG. 1 and moving downwardly. However, information may be written to or retrieved from medium 10 by movement nonsequentially between blocks 12. In a preferred embodiment, blocks 12 are formatted in a serpentine-like fashion on the tracks of a multiple-track magnetic tape beginning at the leading portion of the tape to the end of the first track, then in a reverse direction along the second track, back to the beginning of the tape, and so forth.
The first block 12 is a tape header 20 which identifies the version of backup software (which is distinct from the operating system software of the computer system performing the backup function) as well as the date on which the last backup was performed. The next logical block is a defect management block 22 which controls the formatting to the medium 10 to avoid defective portions of the medium, as is well-known in the art.
The third and fourth logical blocks include a block allocation table (BAT) block 24 and a backup set directory block 26. For every set of user files selected by the user at one occurrence for backup (backup set), a file 26a (FIG. 2) is written in backup set directory 26. Files 26a are stacked in the backup set directory, i.e., subsequent backup set files are added to the stack and deleted backup set files are removed from the stack, with subsequent backup set files 26a being moved up in the stack. Each file 26a includes information pertinent to the backup set and pointers to relevant locations in the Block Allocation Table block. In addition, for each user file in each backup set, a directory file 28a (FIG. 3) is formatted and written in a directory block 28. More than one directory block 28 is typically assigned for medium 10 and the portion of medium 10 formatted for directory blocks may be as much as ten percent (10%). In addition, for each user file in each backup set, a data file 30a (FIG. 4) is formatted and written in one or more data blocks 30 or a portion thereof. Data blocks 30 occupy the majority of the medium 10. Thus, it is seen that, for every user file selected by the system user for inclusion in a backup set, a directory file 28a and a data file 30a are created and stored on tape 10. For every backup set of user files selected by the user, a backup set file 26a is created and stored on the tape in the backup set directory block 26.
Block allocation table 24 includes an array of memory locations, each of which corresponds to one block 12 of the tape. As the system stores directory files 28a in directory blocks 28 for a given backup set, the block or blocks in which the directory files are stored are written in block allocation table 24 and interconnected with the starting locations for the backup set with pointers in a chain-like fashion. Likewise, a data block chain is established in the block allocation table corresponding to the data blocks 30 in which the data files 30a are written for a given backup set. The starting locations for the directory block chain and the data block chain are addressed by pointers from the backup set directory file 26a for the corresponding backup set.
Each backup set directory file 26a includes a field 32, that is null-terminated, for a user-assigned backup set name (FIG. 2). Field 32 is followed by a date and time field 33 in which the backup software stores the date and time that the backup set was created or last modified. File 26a further includes user-assigned password field 34 and set description field 35, both of which are null-terminated fields. File 26a further includes a field 36 for storing a designation specified by the backup software of the operating system performing the backup function. The information stored in field 36 is selected by the backup software from a set of numbers preassigned to the various then-known operating systems supported by the backup software. It is to be noted that backup sets created with various different operating systems may be archived on the same tape 10. A field 37 is provided for indicating the tape number for backup sets that begin on another tape 10 and a field 38 is provided for indicating that the set is continued on another tape. Backup set directory file 26a additionally includes a field 41 indicating the size of each directory file in the backup set. For reasons that will be set forth in detail below, the size of the directory files is dependent on the operating system that establishes the backup set.
File 26a additionally includes pointer fields 39 and 40 which store pointers to the memory locations in the block allocation table 24 at which the block allocation chains for the backup set directory files 28a and the data files 30a begin. Thus, the data structure of the block allocation table 24 and the backup set directory files 26a provide mapping to the directory files and data files for each file in a given backup set.
Each directory file 28a, which corresponds to one user file in the backup set, includes a field 42 in which the backup software stores the offset from the beginning of the data files that wake up the corresponding backup set at which the data file 30a corresponding to this directory file 28a is located (FIG. 3). Directory file 28a additionally includes a field 43 for storing the date when the corresponding user file was created or last changed. Because the date is in the format of the operating system that creates the user file, and presumably also the backup set, the backup software translates this number to a commonly-used format, such as Unix format. Each directory file 28a additionally includes a field 44 for storing the size of the corresponding data file 30a and a field 45 for storing an attribute word whose individual bits are assigned to designating (1) whether the corresponding data file is a continuation from a previous tape (split file), (2) whether the corresponding data file is continued onto another tape (incomplete file), and (3) whether the corresponding data file is a hidden file.
Each directory file 28a additionally includes a name field 46 in which the "name" assigned to the user file, typically by the user, is stored. Because the "name" may vary in length as a function of the particular operating system which created the user file, and which presumably also performed the backup function, field 46 is of indeterminate length and is null-terminated. The file name stored in field 46 is fully specified, including the path of the file in the directory tree of the disk or other memory device from which the user file is backed up. Directory file fields 42-46 define common fields 48 because they store information pertinent to the corresponding data file 30a that is nonspecific to the operating system backing up, or the operating system that will subsequently be restoring, the corresponding user file. Thus, the information in fields 48 will be retrieved during restoration of the corresponding user file regardless of the operating system performing the restoration.
Each directory file 28a additionally includes an operating system specific field area 49 of indeterminate length. The backup software directs to this field area 49 the portions of a user file which remain after excluding the information of the user file which is data and the information of the user file which is assigned to common fields 48. This would include, for example, control words which determine how a specific operating system processes the data words or access information which determines allowed user access to the data in the file. Because the words stored in field area 49 are specific to the operating system which created the backup set and presumptively also the user file, the content of field area 49 is retrieved only when restoring is being performed by an operating system which is substantially the same as, or compatible with, the operating system that backed up the corresponding user file. The size of each directory file 28a in the backup set, which is stored in field 41 in the corresponding backup set directory file 26a (FIG. 2), is utilized by the restoring software to offset to the next directory file 28 a to bypass the field area 49 when the backup set is restored with an operating system different from that performing the backup function.
Data information for each user-created file included in a backup set is stored on medium 10 in a data file 30a (FIG. 4). The date information is written in a conventional format such as Motorola Byte-Ordering and the data files 30a are stored in data blocks 30. While the previously-described system including the block allocation table 24, backup set directory 26, directory blocks 28 and data blocks 30 is sufficient to backup and restore user files using different operating systems and allows restoring of selective files from a backup set, enhanced reliability is provided in the illustrated embodiment by the formatting of a header 50 as a part of each data file 30a stored in data blocks 30. If the corresponding directory file 28a is destroyed or accidentally erased, information stored in the common fields and operating system specific fields is redundantly provided in header 50 to allow the directory file to be reconstructed. The redundant data in header 50 is sufficient to allow reconstruction of the directory file to the extent that restoring of the user file from an operating system different from that which backed up the user file can be performed.
Each header 50 includes a signature string field 52 to store an identification to indicate the start of a header and a header length field 53 to provide offsets to the data area 54 from the beginning of the header. The purpose of providing header lengths information is to allow the software to offset to data field 54 under normal situations when it is unnecessary to read the header. Header 50 further includes field 55 identifying the code of the operating system performing the backup which is identical information to that provided in field 36. An attribute word is stored in field 56 essentially identical to that stored in field 45. A field 57 is provided in which the backup software stores an indication of the size of the data file for use in reconstruction of directory files, as will be set forth in more detail below. The date of creation of the user file, expressed in Unix format, is stored in a field 58 and an identification number for the backup set is stored in a field 59. Header 50 additionally includes a field 60 in which the backup software identifies the version number of the backup software creating the header in order to facilitate forward compatibility of the backup software.
Header 30a additionally includes a field 61 for the "name" assigned to the user file. As previously set forth, the file name has an indeterminate length because it is a function of the operating system performing the backup function. Accordingly, field 61 has an indeterminate size and is null-terminated. The file name stored in field 61 is fully specified, including the path of the file in the directory tree of the disk from which the file is backed up. Header 50 additionally includes a field area 62 in which the backup software stores the same information stored in operating system specific field area 49 of directory area 28a. Because the length of field area 62 is specific to the operating system performing the backup, a field 63 stores an offset value to the name field 61 of file 30a in order to allow the directory file reconstruction software to bypass operating system specific field area 62 and locate field 61. Header 50 additionally includes a field 64 to provide offset into the remainder of file 30a if the file is separated in data blocks 30 of storage medium 10. Field 64 provides the linkage that would normally be performed in the block allocation table. This information is provided in header 50 to allow restoring independently of the block allocation table 24.
II. Backup and Restore Logic a) Backup Function
The backup function 100 is initiated at 102 and includes obtaining from the user, through an input device such as a keyboard, a backup set name, a backup set description and a password. The system additionally prompts the user to identify the user files on the system disk that the user desires to backup to tape 10. The program then proceeds to read (104), and store in a global variable, the contents of tape header 20. The program then proceeds to read and store (106) the components of the block allocation table and read and store (108) the contents of backup set directory 26. The purpose of reading the tape header, block allocation table and backup set directory is to determine the allocated portions of the backup medium and the existing backup sets to ascertain, if necessary, whether the user wishes to overwrite any existing backup sets.
The program proceeds to examine (110) the directory of the hard disk, or other memory store selected by the user from which files are to be backed up, to determine if a file is found on the disk. If so, the program determines at 112 if the located file was selected by the user at 102 for inclusion in the backup set. If not, the program returns to 110 to locate the next file on the disk. If it is determined at 112 that the located file was selected by the user to be included in the backup set, the full file name, including the path to the file in the hard disk directory tree, the date the user file was created or last revised, the file attributes specific to the operating system that established the file and the entire data contents of the user file are retrieved.
The program proceeds to 114 where it is determined whether sufficient space remains in a temporary store, in which directory files are retained during the backup function, to add a directory file for the selected user file. If it is determined at 114 that space is available, the program locks open (116) the temporary store in order to create a directory file 28a and add (118) the directory file to the developing directory tree in the temporary store. The program then proceeds to create (120) a header 50 for the data portion of the selected user file. The corresponding data file 30a including header 50 and data 54 for the selected user file is then written to the tape 10 at 122. The program then returns to 110 for examination of the next file on the hard disk.
If it is determined at 114 that there is insufficient space in the temporary store for the additional directory file associated with the selected user file, the program determines at 116 if this is the first pass through this portion of the routine. If so, the offset in the directory block 28 for the set of directory files in the backup set is calculated (126), and the directory files 28a are written (128) to medium 10 to clear the temporary store. Once the temporary store has been emptied, the program determines at 130 if additional user files have been selected for inclusion in the backup set that have not been written to the tape. If so, the program examines (110) the next file on the hard disk and determines (112) if the located file has been selected by the user for inclusion in the backup set.
When the program determines at 110 that all files on the hard disk have been examined, the program proceeds to 124 to determine whether this is the first pass through this portion of the routine. If so, the offset in the directory block 28 for the set of directory files in the backup set is calculated (126) and the directory files are written (128) to medium 10. If it is determined at 124 that this is not the first pass through this portion of the routine, then the directory offset has been established and control passes to 128 for writing of the additional directory files to the medium.
When it has been determined at 130 that all files selected for inclusion in the backup set have been written to the tape, the block allocation table is prepared/updated and written (132) to block 24. The backup set directory is then prepared/updated and written (134) to block 26. Finally, the content of the tape header is updated and written (136) to block 20 to complete the backup function and return (138) control to the operating system of the computer system performing the backup function 100.
b) Restore Function
When the restore function 200 is selected by the user at 202, the program opens (204) the file system by reading the contents of the tape header 20, the block allocation table 24 and the backup set directory 26 and stores the contents in a global variable. The function opens (206) a backup set by obtaining from the user the file name of the backup set from which it is desired to restore some or all of the files in the set. The content of the backup set directory file 26a for the selected backup set is retrieved and the pointers in fields 39 and 40 are applied to the block allocation table to determine the locations in the directory blocks 28 and data blocks 30 where the directory files and data files for the selected backup set are located. When this has been completed, the user is prompted to select individual files from the selected backup set to restore and the function retrieves (208) the directory file 28a for the first file in the backup set. The program proceeds to 210 where it will be determined that a file was found because each backup set contains at least one file. The program then determines at 212 whether the retrieved file has been selected by the user for restoring to the hard disk. If not, the function attempts to retrieve (214) the next file in the backup set and, if a file is found (210), it is determined at 210 whether the file has been selected by the user for restoring to the hard disk. If it is determined at 212 that the file is selected, the program proceeds to 216 where it is determined whether space is available in a temporary store allocated for development of a directory tree of selected files. If space is available, the program proceeds to 218 where the content of the directory file corresponding to the selected user file is examined and decoded for inclusion in the directory tree developed in the temporary store.
Decoding of the directory file 28a is illustrated in more detail in FIG. 7a. The program copies (220) the information in common fields area 48 and determines at 222, by examining the content of field 36 in the directory file, whether the operating system performing the restore function 200 is the same as that which performed the backup function 100 to establish the selected backup set. If it is determined at 222 that the same operating system created the backup set containing the user file as is presently restoring the user file, the information in all fields of file 28a, including the information in operating system specific field 49, is retrieved and applied to the directory tree. If it is determined at block 222 that the operating system performing the restore function 200 is not the same as that identified in field 36 as the operating system that performed the backup function 100, then the information in operating system specific field 49 is ignored. However, the information in the name field 46 and the information in common fields area 48 is retrieved and it is determined (228) whether the structure of the name information retrieved from the name field is compatible with the operating system performing the restore function 200. A file name is not compatible unless the number of characters in its extension portion, if any, are less than or equal to the number of characters allowed in the extension portion, if any, of the operating system performing the restore function 200 and are all legal characters for the restoring operating system. Likewise, a file name is not compatible unless the number of characters in the primary portion of the file name is less than or equal to the number of characters allowed in the primary portion of the file name in the operating system performing the restore function and are all legal characters. If the name is compatible, the function proceeds to 226 where the file name is included in the directory tree entry. If it is determined at 228 that the file name information retrieved from the name field 46 is not compatible, a conversion algorithm is applied (230) to the file name to make it fit the name specifications of the operating system performing the restore function.
The conversion algorithm applied at 230 examines the primary portion and extension portion of the file name individually and, for each portion, eliminates any characters that are not recognized as valid name characters by the restoring operating system. The spaces are converted to underscores and a determination is made whether the modification to the name is sufficient to allow it to fit the restoring operating system. If not, then the vowels in the name are eliminated and the name is again examined for fit. If it still doesn't fit, the name portion is truncated to the necessary length in order to fit the restoring operating system. The program passes to 226 where the modified name is included in the directory tree entry for the corresponding user file.
After completion of the directory tree entry for the selected user file, the program proceeds to 214 (FIG. 6) for attempted retrieval of the next file, to 210 to determine if a file has been found and, if found, to 212 to determine if the found file is selected by the user for restoring to the system's disk. If a user file is found and selected, an entry to the directory tree for the file is added at 218 provided it is determined at 216 that sufficient space is available in the temporary store allocated for the directory tree.
As the program for restore function 200 proceeds through blocks 208 to 218, a directory tree of selected user files is developed. However, during this portion of the routine, the data files for the selected user files are not yet retrieved from the tape. Rather, the entire directory tree of files selected by the user for restoring from the selected backup set is first completed such that the actual restoring of the data file portion of the selected user files occurs uninterrupted during a period of exclusive access by function 200 to the system's disk. The purpose is to avoid file modification by another user on a network that may be adding and deleting files to the system's disk.
Under usual circumstances, the temporary store in which the directory tree is developed for restore function 200 will be sufficiently large to develop the full directory tree for the selected files of the selected backup set. However, if it is determined at 216 that the temporary store in which the directory tree is being developed does not have available space for the directory information for the file found at 210 and selected at 212, the program copies (232) the data files corresponding to entries in the directory tree from the tape. The data files are combined with the contents of the directory tree to restore the corresponding user files which are written to the disk or other memory device of the restoring system. As data files are copied, the portion of the directory tree for each file copied to the disk is eliminated to make room in the temporary store.
The copy function 232 is illustrated in detail in FIG. 7b. From block 216, the program determines at 234 that additional files remain to be copied and creates (236) a user file on the hard disk from the information added at 218 to the directory tree for that file. The function then seeks (238) the file header 50 for the corresponding data file 32a from the offset information in field 42 of the corresponding directory file 28a. The data 54 is copied at 240 from medium 10 to the disk by offsetting from the beginning of the header according to the header length information in field 53. The corresponding data file is closed at 242 and the function returns to 234 to determine if additional data files remain to be copied. If not, then the "copy files" routine 232 is exited. After the data files corresponding to the entries of the directory tree are copied to the disk and the entries of the directory tree are eliminated, the temporary store in which the directory tree is built will be available for additional entries.
After the last file selected for restoration is retrieved, it will be determined at 210 that no additional files are found. The program proceeds to block 242 for copying from medium 10 the files in the directory tree in the same manner previously described at block 232 and as illustrated in FIG. 7b. After the data files are copied from the medium to the system's disk, the backup set is closed at 244 by eliminating or revising the file 26a in the backup set directory for the selected backup set and the system is closed at 246 by repeating the functions performed at blocks 132-136 to update the block allocation table, the backup set directory and the tape header. The function is exited at 248.
III. Tape Reconstruction
If, at any time during the restore function 200, the system cannot successfully retrieve a directory file from directory blocks 28, an error message is provided to the user. A reconstruction function 300 may then be performed to reconstruct the defective directory file (FIG. 8). When function 300 is invoked, the beginning sector of each data block 30 is sequentially examined (302) for identification of a valid signature string as stored in field 52. When a valid signature string is identified (304), then the entire data file 30a, including header 50 and data 54 is retrieved (306) and is used by the reconstruction function to develop (308) a directory file 28a. The directory file is reconstructed from information in header 50 and may be formatted to a directory block 28 of a new medium 10. The program then offsets (310) to the end of the located file on the basis of the file size information stored in field 57 of header 50 and determines (312) whether a valid signature string, indicating the beginning of the next data file, has been located. If so, the program returns to 306 to retrieve the next data file 30a. If a valid signature string is not located (312) then the program returns to 302 and begins block-by-block scanning until the identification of the signature string indicates another data file has been located.
In this manner, the entire directory area of a tape may be reconstructed and combined with the surviving data files on a new tape. In the preferred embodiment, reconstruction routine 300 is conducted at the software vendor because of the infrequences of its use. However, reconstruction routine 300 could alternatively be supplied as a function adjunct to the backup and restore routines (100, 200) for use by the software user from prompts provided with the reconstruction routine.
By providing the capability of restoring files from a tape written with a different operating system, the present invention most advantageously ensures both forward and backward compatibility. Not only is it possible to archive user files to be retrieved at some future data by a yet undeveloped operating system, the present invention provides a substantial advantage in not requiring the re-release of existing backup/restore software systems when a new operating system is supported. A tape written by a subsequently-added operating system can be restored from an earlier version of the backup software.
Although the invention may be utilized on any form of mass storage medium, the serpentine format of a multi-track tape is advantageously used in a preferred embodiment. The first and second tracks are assigned to the header block 20, defect management block 22, BAT block 24, backup set directory block 26 and the directory blocks 28. The third and subsequent tracks are assigned to data blocks. In this manner, during a backup routine, the tape head indexes past the first two tracks easily and quickly by a lateral shift in order to begin writing the data files while the tree of directory files is being developed in a temporary store. After the data files are stored, the head is returned to the first two tracks for writing the remaining directory-related areas. This elimination of sequential scanning through the tape reduces the time required to perform a backup routine significantly.
In the preferred embodiment, the invention is implemented in the "C" programming language and all information is stored in Motorola Byte-Ordering format. However, it is capable of implementation by other languages and formats by those skilled in the art. Other changes and modifications in the specifically described embodiment can be carried out without departing from the principles of the invention which is intended to be limited only by the scope of the appended claims, as interpreted according to the principles of patent law including the doctrine of equivalents.

Claims (33)

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. A method of operating computer systems including utilizing a storing computer system operating with a first particular operating system to store a data file on a storage medium such that said data file can be recovered by a user from said storage medium utilizing a retrieving computer system operating with a second particular operating system, said method including the steps of:
storing operating system identification information on said storage medium using said storing computer system, said operating system identification information identifying said first particular operating system;
creating a directory file in said storing computer system for said data file and said storage medium, said directory file including first and second fields; and
storing data file information from the storing computer system on said storage medium using the storing computer system, said step of storing data file information including storing data file location information that is nonspecific to said first particular operating system in one of said fields, and storing data file location information that is specific to said first particular operating system in the other one of said fields and storing said data file at a location identified by said data file location information, wherein the retrieving computer system determines whether the second particular operating system is compatible with the first particular operating system to recover the data in said data file at said location identified by said file location information, using said file location information that is nonspecific to said first particular operating system in one of said fields when the second operating system is not compatible with the first operating system.
2. A method of operating computer systems including utilizing a storing computer system operating with a first particular operating system to store a data file on a storage medium such that said data file can be recovered from said storage medium by a retrieving computer system operating with a second particular operating system, said method including the steps of:
storing operating system identification information on said storage medium using said storing computer system, said operating system identification information identifying said first particular operating system;
creating a directory in said storing computer system for said file and said storage medium, said directory including first and second fields;
storing data file information from the storing computer system on said storage medium using the storing computer system, said step of storing data file information including storing data file information that is nonspecific to said first particular operating system in one of said fields and storing data file information that is specific to said first particular operating system in the other one of said fields;
examining said operating system identification information stored on said storage medium in the retrieving computer system, identifying said first particular operating system from said operating system identification information, determining if said second particular operating system is compatible with said first particular operating system identified by said operating system identification information;
retrieving said data file information in said one of said fields into the retrieving computer system using said second particular operating system only if said second particular operating system is not compatible with said first particular operating system; and
retrieving into the retrieving computer system said data file information in said one of said fields and said data file information in said other of said fields if said second particular operating system is compatible with the operating system identified by said operating system identification information.
3. The method as defined in claim 2 in which said step of retrieving said data file information in said one of said fields further includes determining in said retrieving computer system that said data file information in said one of said fields is compatible with said second particular operating system.
4. The method as defined in claim 3 in which said step of determining includes determining whether said data file information in said one of said fields is compatible with the said second particular operating system of the retrieving computer system and converting in said retrieving computer system said Data file information in said one of said fields to a form that is compatible with said second particular operating system if it is determined that said data file information in said one of said fields is not compatible with said second particular operating system.
5. The method as defined in claim 4 in which said data file information that is nonspecific to said first particular operating system includes a name assigned in said storing computer system to said file.
6. The method as defined in claim 1 in which said file information that is nonspecific to said first particular operating system includes a name assigned in said storing computer system to said file.
7. The method as defined in claim 6 in which said file information that is nonspecific to said first particular operating system includes the date said file was last modified.
8. The method as defined in claim 7 in which said file information that is specific to said first particular operating system includes control information for controlling the manner in which an operating system utilizes data in said file.
9. The method as defined in claim 1 in which said file information that is specific to said first particular operating system includes control information for controlling the manner in which an operating system utilizes data in said file.
10. The method as defined in claim 2 further including the steps of creating a data file for said file on said storage medium including a file header having third and fourth fields and storing data file information that is nonspecific to said first particular operating system in one of said third and fourth fields and storing information that is specific to said first particular operating system in the other one of said third and fourth fields, and wherein said retrieving computer system retrieves only said data file information in the one of said third and fourth fields if said second particular operating system is not compatible with said first particular operating system.
11. The method as defined in claim 10 further including the step of retrieving said data file information in said third and fourth fields and reconstructing in said retrieving computer system said directory from said data file information in said third and fourth fields.
12. The method as defined in claim 10 further including the step of storing data in said data file after said file header and wherein said file header has a fifth field including the size of said header to allow a retrieving computer system to bypass said header to access said data in said data file.
13. A method of operating computer systems including utilizing a storing computer system to store user-created files from a memory device of the storing computer system on a storage medium such that said files are recovered from said storage medium using a retrieving computer system, said storing computer system utilizing a first particular operating system and said retrieving computer system utilizing a second particular operating system, said method including the steps:
(a) locating a user-created file on said storing computer memory device in said storing computer system;
(b) creating a directory file, using said storing computer system, for said user-created file and said storage medium, said directory including first and second fields;
(c) storing data file location information that is nonspecific to said first particular operating system in one of said fields using the storing computer system and storing data file information that is specific to said first particular operating system in the other of said fields using said storing computer system;
(d) creating a data file for data in said user-created file and storing said data file on said storage medium, at the location identified by said data file location information, using said storing computer system;
(e) repeating (a) through (d) for the next user-created file on said storing computer memory device; and
(f) storing on said storage medium information identifying said first particular operating system using said storing computer system; and
(g) recovering the data file at the file location identified by information stored in said first field with the retrieving computer system, when the second operating system is not compatible with the first particular operating system, wherein the data file is recovered using an operating system which is not compatible with the first particular operating system.
14. The method as defined in claim 13 further including
(g) storing the directory files on said storage medium using said storing computer system.
15. The method as defined in claim 14 wherein said step (d) includes storing said data file in a first predetermined portion of said storage medium using said storing computer system and said step (f) includes storing the directory files in a second predetermined portion of said storage medium using said storing computer system, said second predetermined portion separated from said first predetermined portion.
16. The method as defined in claim 14 wherein said step (d) includes providing a header in said storage medium having third and fourth fields for each said data file and storing said file information that is nonspecific to said first particular operating system in one of said third and fourth fields and said data file information pertaining to the file that is specific to the particular operating system of the storing computer system in the other of said third and fourth fields.
17. The method as defined in claim 14 further including:
(h) examining said data file information stored on said medium identifying said first particular operating system using the retrieving computer system, and determining in the retrieving computer system if the particular operating system of the retrieving computer system is compatible with said first particular operating system identified in said directory file;
(i) retrieving one of said fields from said storage medium using said retrieving computer system if said second particular operating system is not compatible with said first particular operating system or retrieving said other of said fields from said storage medium using said retrieving computer system if said second particular operating system is compatible with said first particular operating system;
(j) adding said data file information in said one of said fields to a temporary store in said storing computer system; and
(k) adding said data file information in said other of said fields to said temporary store if said second particular operating system is compatible with said operating system identified in said directory.
18. The method as defined in claim 17 further including
(l) repeating steps (i) through (k) for all files selected by a user for recovery by the retrieval computer system;
(m) retrieving the data files using said retrieving computer system for all files selected by a user; and
(n) writing said data files and the information in said temporary store pertaining to said data files to a memory device of said retrieving computer system.
19. The method as defined in claim 17 in which step (j) includes determining in the retrieving computer system whether said information in said one of said fields is compatible with said second particular operating system.
20. The method as defined in claim 17 in which step (j) includes determining whether said information in said one of said fields is compatible with said second particular operating system and converting said information in said one of said fields to a form that is compatible with said second particular operating system if it is determined that said information in said one of said fields is not compatible with said second particular operating system.
21. A method of operating computer systems including utilizing a storing computer system to store a set of user-created files from a memory device of said storing computer system on a magnetic tape such that it is recovered using a restoring computer system, said storing computer system utilizing a first particular operating system and said restoring computer system utilizing a second particular operating system, said method including the steps of:
(a) locating, using the storing computer system, at least one user-created file in said memory device;
(b) creating in the storing computer system at least one directory file for said user-created file and storing file information for said at least one user-created file in said directory file;
(c) creating a data file for data in said at least one user-created file, using the storing computer system, and storing said information pertaining to said at least one user created file in a portion of said data file;
(d) storing said data file on said magnetic tape using said storing computer system;
(e) repeating steps (a) through (d) for all files selected by a user for storing as a set of files;
(f) storing in said directory files, using said storing computer system, information sufficient to determine the location of the corresponding data file on said magnetic tape;
(g) storing said directory files on said magnetic tape using said storing computer system;
(h) creating a set directory file in said storing computer system for said set of files and storing in said set directory file information pertaining to the location on said magnetic tape of the corresponding directory files; and
(i) storing said set directory file on said magnetic tape using said storing computer system wherein a computer system using said second particular operating system recovers said data file using said file location information when said second particular operating system is not compatible with said first particular operating system.
22. The method as defined in claim 21 further including
(j) selectively restoring designated ones of said files from said set of files using the restoring computer system.
23. The method as defined in claim 22 wherein said step (j) includes retrieving said set directory file from said magnetic tape using the restoring computer system, determining in the restoring computer system the location on said magnetic tape of said directory files from the information in said set directory file, locating said directory files, determining in the restoring computer system which of said directory files are selected for restoring, determining from the information in said selected directory files the location on said magnetic tape of the corresponding data files and retrieving said corresponding data files from said magnetic tape using the restoring computer system.
24. The method as defined in claim 21 wherein said step (b) includes storing file information that is nonspecific to the particular operating system of the storing computer system in a first field in said directory using the storing computer system and storing file information that is specific to the particular operating system of the storing computer system in a second field in said directory using the storing computer system and wherein said step (h) includes storing information identifying the particular operating system of the storing computer system in said set directory file.
25. The method as defined in claim 24 further including
(j) selectively restoring designated ones of said files from said set of files using the restoring computer system.
26. The method as defined in claim 25 wherein said step (j) includes retrieving said set directory file from said magnetic tape using the restoring computer system, determining from the information in said set directory file and the location on said magnetic tape of said directory files and whether said second particular operating system is compatible with said first particular operating system identified in said set directory file, locating said directory files, determining in the restoring computer system which of said directory files are selected for restoring, determining from the information in said selected directory files the location on said magnetic tape of the corresponding data files, retrieving said information in said first fields of said directory files using the second particular operating system if said second particular operating system is not compatible with said first particular operating system and retrieving said information in said first fields of said directory files using said second particular operating system if said first and second operating systems are compatible, retrieving said information in said second fields of said directory files only if said second particular operating system is compatible with said first particular operating system identified in said set directory file, determining in the restoring computer system from the information in said selected directory files the location on said magnetic tape of the corresponding data files, and retrieving said corresponding data files from said magnetic tape if said first and second particular operating systems are compatible and if said first and second particular operating system are not compatible.
27. A storage system for storing user-created files on a storage medium from a storing computer system operating with a first operating system software and for restoring said files to a retrieving computer system operating with a second operating system software, said storage system comprising;
means in the storing computer system for formatting data information in a user-created file for writing in a data file and writing said data file at a location on a storage medium;
means in the storing computer system for formatting for and writing to a first portion of a directory file information identifying the name of a user-created file and the location on said medium of the corresponding data file;
means in the storing computer system for formatting for and writing to a second portion of said directory file information from a user-created file which determines in part the manner in which said first operating system processes data information in user-created files;
means for writing directory files at a location on a storage medium;
means in the storing computer system for formatting for and writing to in a set directory file the identity of said first operating system and the location on said medium of the directory files for a set of user-created files and for storing the identity of said first operating system on said medium;
means in the retrieving computer system for retrieving set directory files and for determining from said set directory files the location of directory files for the set including determining means for determining whether the set was stored from a computer system utilizing said second operating system;
means in the retrieving computer system for retrieving directory files and for determining from said first portion of the directory file the location on said medium of the corresponding data file;
means in the retrieving computer system for identifying the second particular operating system and retrieving data files using the second particular system if said first and second particular operating systems are not compatible and for retrieving data files using the second particular operating system if said first and second particular operating system are compatible; and
combining means responsive to said determining means for combining data information in a retrieved data file with the name information in the corresponding directory file and for combining said data and name information with said information in said second portion of the corresponding said directory file if the set was stored by a computer system utilizing said second operating system.
28. The storage system in claim 27 wherein said combining means includes means for determining whether the format of the retrieved name is compatible with the second operating system.
29. The storage system in claim 28 wherein said determining means includes means for converting an incompatible name to a name that is compatible with the second operating system.
30. The storage system in claim 27 wherein data information formatting means in the storing computer system includes means for establishing a header portion in a data file and header formatting means for formatting to said header portion the name of a user-created file and information from a user-created file that determines in part the manner in which said first operating system processes data information in user-created files.
31. The storage system in claim 30 wherein said header formatting means in the storing computer system includes means for formatting a code identifying a file as a data file.
32. The storage system in claim 31 wherein said header formatting means in the storing computer system includes means for formatting the length of the header and the length of the files for the corresponding data file.
33. A method of operating a computer system to recover a file which has been retrieved from a storage medium by a different computer having a second and different operating system, said computer system having only a first operating system, said file including information specific to said second operating system, information non-specific to the second operating system and information which identifies said method including the steps of:
examining said file to identify the second operating system;
determining if the second operating system is compatible with said first operating system;
retrieving said file if the second operating system is compatible with said first operating system; and
retrieving only said information which is not specific to the second operating system if said first operating system is not compatible with said second operating system.
US07/905,083 1989-07-10 1992-06-24 System and method for storing and retrieving files for archival purposes Expired - Lifetime US5485606A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US07/905,083 US5485606A (en) 1989-07-10 1992-06-24 System and method for storing and retrieving files for archival purposes

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US37772989A 1989-07-10 1989-07-10
US07/905,083 US5485606A (en) 1989-07-10 1992-06-24 System and method for storing and retrieving files for archival purposes

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US37772989A Continuation 1989-07-10 1989-07-10

Publications (1)

Publication Number Publication Date
US5485606A true US5485606A (en) 1996-01-16

Family

ID=23490293

Family Applications (1)

Application Number Title Priority Date Filing Date
US07/905,083 Expired - Lifetime US5485606A (en) 1989-07-10 1992-06-24 System and method for storing and retrieving files for archival purposes

Country Status (1)

Country Link
US (1) US5485606A (en)

Cited By (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579516A (en) * 1994-12-15 1996-11-26 Hewlett-Packard Company Method for storing data files on a multiple volume media set
US5717951A (en) * 1995-08-07 1998-02-10 Yabumoto; Kan W. Method for storing and retrieving information on a magnetic storage medium via data blocks of variable sizes
US5745902A (en) * 1992-07-06 1998-04-28 Microsoft Corporation Method and system for accessing a file using file names having different file name formats
US5745756A (en) * 1996-06-24 1998-04-28 International Business Machines Corporation Method and system for managing movement of large multi-media data files from an archival storage to an active storage within a multi-media server computer system
US5793546A (en) * 1992-01-22 1998-08-11 Sony Corporation Data transmitting apparatus and data reproducing apparatus using format compatibility to achieve upward and downward compatibility
WO1998035285A2 (en) * 1997-02-11 1998-08-13 Connected Corporation Database/template driven file selection for backup programs
US5870734A (en) * 1994-10-04 1999-02-09 Hewlett-Packard Company Three-dimensional file system using a virtual node architecture
US5870757A (en) * 1995-09-11 1999-02-09 Sun Microsystems, Inc. Single transaction technique for a journaling file system of a computer operating system
US5907679A (en) * 1996-08-19 1999-05-25 Visiontek Hard drive upgrade system
US5922072A (en) * 1997-01-03 1999-07-13 Ncr Corporation Method and apparatus for creating alternate boot environments in a computer
US5978767A (en) * 1996-09-10 1999-11-02 Electronic Data Systems Corporation Method and system for processing career development information
US5983242A (en) * 1997-07-01 1999-11-09 Microsoft Corporation Method and system for preserving document integrity
US6038379A (en) * 1993-11-09 2000-03-14 Seagate Technology, Inc. Data backup and restore system for a computer network having generic remote file system agents for providing backup and restore operations
US6049663A (en) * 1996-03-01 2000-04-11 Microsoft Corporation Method and facility for uninstalling a computer program package
US6172833B1 (en) 1998-08-05 2001-01-09 International Business Machines Corporation Retrieval of serpentine pattern data using a memory device of a tape cartridge
US6243762B1 (en) * 1994-08-08 2001-06-05 Mercury Computer Systems, Inc. Methods and apparatus for data access and program generation on a multiprocessing computer
WO2001042922A1 (en) * 1999-12-07 2001-06-14 Data Foundation, Inc. Scalable storage architecture
FR2808349A1 (en) * 2000-04-28 2001-11-02 Neartek S A AUTOMATIC DATA BACKUP AND RESTORATION SYSTEM FROM A PLURALITY OF HOST EQUIPMENT IN A HETEROGENEOUS ENVIRONMENT
US6374265B1 (en) * 1999-03-29 2002-04-16 Inventec Corp. Method for backup and recovery of the long filename in computer system
US20020083053A1 (en) * 2000-12-22 2002-06-27 Bruno Richard Method and apparatus for indexing files
US6418508B1 (en) * 1995-02-22 2002-07-09 Matsushita Electric Industrial Co., Ltd. Information storage controller for controlling the reading/writing of information to and from a plurality of magnetic disks and an external device
US6424976B1 (en) * 2000-03-23 2002-07-23 Novell, Inc. Method of implementing a forward compatibility network directory syntax
US20030002586A1 (en) * 1998-11-19 2003-01-02 Jungers Patricia D. Data structure, method and apparatus providing efficient retrieval of data from a segmented information stream
US20030041284A1 (en) * 2000-07-06 2003-02-27 Sreenath Mambakkam Field-operable, stand-alone apparatus for media recovery and regeneration
US20030046313A1 (en) * 2001-08-31 2003-03-06 Arkivio, Inc. Techniques for restoring data based on contents and attributes of the data
US20030046270A1 (en) * 2001-08-31 2003-03-06 Arkivio, Inc. Techniques for storing data based upon storage policies
US6553458B1 (en) 1999-12-14 2003-04-22 Ncr Corporation Integrated redundant storage device
US20030115204A1 (en) * 2001-12-14 2003-06-19 Arkivio, Inc. Structure of policy information for storage, network and data management applications
US6615224B1 (en) * 1999-02-23 2003-09-02 Lewis B. Davis High-performance UNIX file undelete
US20030177145A1 (en) * 2002-03-14 2003-09-18 International Business Machines Corporation Method, system, and program for a transparent file restore
US6678712B1 (en) * 1996-01-19 2004-01-13 International Business Machines Corporation Method and system for executing a program under one of a plurality of mutually exclusive operating environments
US6678700B1 (en) 2000-04-27 2004-01-13 General Atomics System of and method for transparent management of data objects in containers across distributed heterogenous resources
US20040015536A1 (en) * 2002-06-17 2004-01-22 Microsoft Corporation Multicast system and method for deploying multiple images simultaneously
US20040039891A1 (en) * 2001-08-31 2004-02-26 Arkivio, Inc. Optimizing storage capacity utilization based upon data storage costs
US20040049513A1 (en) * 2002-08-30 2004-03-11 Arkivio, Inc. Techniques for moving stub files without recalling data
US20040054656A1 (en) * 2001-08-31 2004-03-18 Arkivio, Inc. Techniques for balancing capacity utilization in a storage environment
US20040083202A1 (en) * 2002-08-30 2004-04-29 Arkivio, Inc. Techniques to control recalls in storage management applications
US20040117460A1 (en) * 2002-12-13 2004-06-17 Walsh Robert E. Multi-user web simulator
US20040114266A1 (en) * 2002-02-28 2004-06-17 Masahiro Urano Tape cassette and tape driver
US20040117170A1 (en) * 2002-12-13 2004-06-17 Walsh Robert E. Web simulator
US20040163029A1 (en) * 2002-12-02 2004-08-19 Arkivio, Inc. Data recovery techniques in storage systems
US20040193953A1 (en) * 2003-02-21 2004-09-30 Sun Microsystems, Inc. Method, system, and program for maintaining application program configuration settings
US6810404B1 (en) * 1997-10-08 2004-10-26 Scansoft, Inc. Computer-based document management system
US20050015409A1 (en) * 2003-05-30 2005-01-20 Arkivio, Inc. Techniques for performing operations on migrated files without recalling data
US20050021566A1 (en) * 2003-05-30 2005-01-27 Arkivio, Inc. Techniques for facilitating backup and restore of migrated files
US20050033757A1 (en) * 2001-08-31 2005-02-10 Arkivio, Inc. Techniques for performing policy automated operations
US20050039069A1 (en) * 2003-04-03 2005-02-17 Anand Prahlad Remote disaster data recovery system and method
US6868434B1 (en) * 2000-08-07 2005-03-15 Sun Microsystems, Inc. System and method for testing server latencies using multiple concurrent users in a computer system
US20050086231A1 (en) * 2001-10-31 2005-04-21 Alan Moore Information archiving software
US20050198086A1 (en) * 2000-03-23 2005-09-08 Moore Reagan W. Persistent archives
US20050208970A1 (en) * 2002-02-01 2005-09-22 Microsoft Corporation Method and system for managing changes to a contact database
US20050240627A1 (en) * 2002-06-17 2005-10-27 Microsoft Corporation Image server store system and method using combined image views
US20050273648A1 (en) * 2000-07-06 2005-12-08 Sreenath Mambakkam Field-operable, stand-alone apparatus for media recovery and regeneration
US20060015696A1 (en) * 2004-07-15 2006-01-19 Lu Nguyen Integrated storage device
US20060130017A1 (en) * 2002-06-17 2006-06-15 Microsoft Corporation Combined image views and methods of creating images
US20060129521A1 (en) * 2004-12-10 2006-06-15 Hon Hai Precision Industry Co., Ltd. System and method for restoring a file directory structure
US7124322B1 (en) 2002-09-24 2006-10-17 Novell, Inc. System and method for disaster recovery for a computer network
US20060242489A1 (en) * 2003-11-13 2006-10-26 Brian Brockway Stored data reverification management system and method
US7155445B1 (en) * 2004-02-05 2006-12-26 Cingular Wireless Ii, Llc System and method for self-recovering real-time data-feed compression and archiving
US20070136517A1 (en) * 2005-11-29 2007-06-14 Quantum Corporation Use of directory revision number to validate directory
US20070136540A1 (en) * 2005-12-08 2007-06-14 Matlock Clarence B Jr Restore accelerator for serial media backup systems
US20070180177A1 (en) * 2000-07-06 2007-08-02 Onspec Electronic, Inc. Flashtoaster for reading several types of flash-memory cards with or without a PC
US7266655B1 (en) 2004-04-29 2007-09-04 Veritas Operating Corporation Synthesized backup set catalog
US20070214330A1 (en) * 2006-03-10 2007-09-13 Seiko Epson Corporation Method for processing backup, backup processing device, and storage medium storing program
WO2007107446A1 (en) * 2006-03-23 2007-09-27 Siemens Aktiegesellschaft Data filing method
US20080017718A1 (en) * 2000-07-06 2008-01-24 Onspec Electronic, Inc. Memory Module Which Includes a Form Factor Connector
WO2008049102A2 (en) * 2006-10-19 2008-04-24 Fair Thomas T System and methods for zero-configuration data backup
US20080299809A1 (en) * 2000-07-06 2008-12-04 Mcm Portfolio Llc Smartconnect flash card adapter
US20090037479A1 (en) * 2007-07-31 2009-02-05 Christian Bolik Apparatus, system, and method for analyzing a file system
US20090043830A1 (en) * 2003-11-13 2009-02-12 Commvault Systems, Inc. Systems and methods for stored data verification
US7493437B1 (en) 2000-07-06 2009-02-17 Mcm Portfolio Llc Flashtoaster for reading several types of flash memory cards with or without a PC
US7529724B1 (en) 2004-09-21 2009-05-05 Emc Corporation Servicing work requests between units of a storage device
US20090157748A1 (en) * 2007-12-14 2009-06-18 Mckesson Financial Holding Limited Systems and methods for seekable layer file encoding and decoding
US7558840B1 (en) * 2001-01-25 2009-07-07 Emc Corporation Data backup system having a flexible restore architecture
US20090320029A1 (en) * 2008-06-18 2009-12-24 Rajiv Kottomtharayil Data protection scheduling, such as providing a flexible backup window in a data protection system
US20090320037A1 (en) * 2008-06-19 2009-12-24 Parag Gokhale Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US20090320033A1 (en) * 2008-06-19 2009-12-24 Parag Gokhale Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US20100070466A1 (en) * 2008-09-15 2010-03-18 Anand Prahlad Data transfer techniques within data storage devices, such as network attached storage performing data migration
US20100077310A1 (en) * 2003-10-23 2010-03-25 Microsoft Corporation Flexible architecture for notifying applications of state changes
US20100076932A1 (en) * 2008-09-05 2010-03-25 Lad Kamleshkumar K Image level copy or restore, such as image level restore without knowledge of data object metadata
US7761678B1 (en) * 2004-09-29 2010-07-20 Verisign, Inc. Method and apparatus for an improved file repository
US20100241837A1 (en) * 2009-03-20 2010-09-23 Concorso James A Computer with bootable restoration
WO2010145034A1 (en) * 2009-06-18 2010-12-23 Research In Motion Limited Backing up and/or restoring a software application so as to facilitate compatibility checking with a target device prior to application restore
US20110093597A1 (en) * 1999-10-04 2011-04-21 Microsoft Corporation Method and System for Supporting Off-Line Mode of Operation and Synchronization
US20110093471A1 (en) * 2007-10-17 2011-04-21 Brian Brockway Legal compliance, electronic discovery and electronic document handling of online and offline copies of data
US20110099328A1 (en) * 2009-10-24 2011-04-28 International Business Machines Corporation Efficiently restoring data from a sequential-access backup archive
US20110173171A1 (en) * 2000-01-31 2011-07-14 Randy De Meno Storage of application specific profiles correlating to document versions
US20110195821A1 (en) * 2010-02-09 2011-08-11 GoBe Healthy, LLC Omni-directional exercise device
US20110208789A1 (en) * 2010-01-13 2011-08-25 Jonathan Amit Transformation of logical data objects for storage
US8122201B1 (en) * 2004-09-21 2012-02-21 Emc Corporation Backup work request processing by accessing a work request of a data record stored in global memory
US8145861B1 (en) * 2005-10-17 2012-03-27 Unisys Corporation Managing data transfer between different types of tape media with encryption
US8229954B2 (en) 2006-12-22 2012-07-24 Commvault Systems, Inc. Managing copies of data
US8260748B1 (en) * 2007-03-27 2012-09-04 Symantec Corporation Method and apparatus for capturing data from a backup image
US20130007391A1 (en) * 1999-07-14 2013-01-03 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US20130185261A1 (en) * 2006-08-18 2013-07-18 Falconstor, Inc. System and Method for Identifying and Mitigating Redundancies in Stored Data
US8612394B2 (en) 2001-09-28 2013-12-17 Commvault Systems, Inc. System and method for archiving objects in an information store
US8725731B2 (en) 2000-01-31 2014-05-13 Commvault Systems, Inc. Systems and methods for retrieving data in a computer network
US8725964B2 (en) 2000-01-31 2014-05-13 Commvault Systems, Inc. Interface systems and methods for accessing stored data
US8849762B2 (en) 2011-03-31 2014-09-30 Commvault Systems, Inc. Restoring computing environments, such as autorecovery of file systems at certain points in time
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US20150169413A1 (en) * 2004-11-15 2015-06-18 Commvault Systems, Inc. Using a snapshot as a data source
US9104340B2 (en) 2003-11-13 2015-08-11 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US9165019B2 (en) 2010-09-30 2015-10-20 Emc Corporation Self recovery
US9195685B2 (en) * 2010-09-30 2015-11-24 Emc Corporation Multi-tier recovery
US9195549B1 (en) 2010-09-30 2015-11-24 Emc Corporation Unified recovery
US9417966B2 (en) 2010-09-30 2016-08-16 Emc Corporation Post backup catalogs
US9444811B2 (en) 2014-10-21 2016-09-13 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US9459968B2 (en) 2013-03-11 2016-10-04 Commvault Systems, Inc. Single index to query multiple backup formats
US9542280B2 (en) 2010-09-30 2017-01-10 EMC IP Holding Company LLC Optimized recovery
US9633216B2 (en) 2012-12-27 2017-04-25 Commvault Systems, Inc. Application of information management policies based on operation with a geographic entity
US9648100B2 (en) 2014-03-05 2017-05-09 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US9740574B2 (en) 2014-05-09 2017-08-22 Commvault Systems, Inc. Load balancing across multiple data paths
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US9823978B2 (en) 2014-04-16 2017-11-21 Commvault Systems, Inc. User-level quota management of data objects stored in information management systems
US10007682B2 (en) 2015-03-30 2018-06-26 International Business Machines Corporation Dynamically maintaining data structures driven by heterogeneous clients in a distributed data collection system
US10157184B2 (en) 2012-03-30 2018-12-18 Commvault Systems, Inc. Data previewing before recalling large data files
US10169121B2 (en) 2014-02-27 2019-01-01 Commvault Systems, Inc. Work flow management for an information management system
US10379957B2 (en) 2009-12-31 2019-08-13 Commvault Systems, Inc. Systems and methods for analyzing snapshots
US10572445B2 (en) 2008-09-12 2020-02-25 Commvault Systems, Inc. Transferring or migrating portions of data objects, such as block-level data migration or chunk-based data migration
US10776329B2 (en) 2017-03-28 2020-09-15 Commvault Systems, Inc. Migration of a database management system to cloud storage
US10789387B2 (en) 2018-03-13 2020-09-29 Commvault Systems, Inc. Graphical representation of an information management system
US10795927B2 (en) 2018-02-05 2020-10-06 Commvault Systems, Inc. On-demand metadata extraction of clinical image data
US10831608B2 (en) 2009-09-14 2020-11-10 Commvault Systems, Inc. Systems and methods for performing data management operations using snapshots
US10838821B2 (en) 2017-02-08 2020-11-17 Commvault Systems, Inc. Migrating content and metadata from a backup system
US20200401757A1 (en) * 2015-07-11 2020-12-24 Thinxtream Technologies Ptd. Ltd. Hybrid system and method for data and file conversion across computing devices and platforms
US10891069B2 (en) 2017-03-27 2021-01-12 Commvault Systems, Inc. Creating local copies of data stored in online data repositories
CN112334888A (en) * 2018-08-02 2021-02-05 日立数据管理有限公司 Distributed recovery of server information
US11074140B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Live browsing of granular mailbox data
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US11294768B2 (en) 2017-06-14 2022-04-05 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US11308034B2 (en) 2019-06-27 2022-04-19 Commvault Systems, Inc. Continuously run log backup with minimal configuration and resource usage from the source machine
US11321195B2 (en) 2017-02-27 2022-05-03 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US11416341B2 (en) 2014-08-06 2022-08-16 Commvault Systems, Inc. Systems and methods to reduce application downtime during a restore operation using a pseudo-storage device
US11436038B2 (en) 2016-03-09 2022-09-06 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block- level pseudo-mount)
US11573866B2 (en) 2018-12-10 2023-02-07 Commvault Systems, Inc. Evaluation and reporting of recovery readiness in a data storage management system
US11971784B2 (en) 2021-12-29 2024-04-30 Commvault Systems, Inc. Recovery Point Objective (RPO) driven backup scheduling in a data storage management system

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4530052A (en) * 1982-10-14 1985-07-16 Honeywell Information Systems Inc. Apparatus and method for a data processing unit sharing a plurality of operating systems
US4607346A (en) * 1983-03-28 1986-08-19 International Business Machines Corporation Apparatus and method for placing data on a partitioned direct access storage device
US4825354A (en) * 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4862349A (en) * 1987-10-19 1989-08-29 International Business Machines Corporation Method for extracting and/or replacing control system information in a computer operating system
US5012407A (en) * 1984-12-11 1991-04-30 Finn Charles A Computer system which accesses operating system information and command handlers from optical storage via an auxiliary processor and cache memory
US5297124A (en) * 1992-04-24 1994-03-22 Miltope Corporation Tape drive emulation system for a disk drive
US5339435A (en) * 1991-02-28 1994-08-16 Hewlett-Packard Company Heterogenous software configuration management apparatus
US5355497A (en) * 1992-06-10 1994-10-11 Physiotronics Corporation File directory structure generator and retrevial tool with document locator module mapping the directory structure of files to a real world hierarchical file structure

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4530052A (en) * 1982-10-14 1985-07-16 Honeywell Information Systems Inc. Apparatus and method for a data processing unit sharing a plurality of operating systems
US4607346A (en) * 1983-03-28 1986-08-19 International Business Machines Corporation Apparatus and method for placing data on a partitioned direct access storage device
US5012407A (en) * 1984-12-11 1991-04-30 Finn Charles A Computer system which accesses operating system information and command handlers from optical storage via an auxiliary processor and cache memory
US4825354A (en) * 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4862349A (en) * 1987-10-19 1989-08-29 International Business Machines Corporation Method for extracting and/or replacing control system information in a computer operating system
US5339435A (en) * 1991-02-28 1994-08-16 Hewlett-Packard Company Heterogenous software configuration management apparatus
US5297124A (en) * 1992-04-24 1994-03-22 Miltope Corporation Tape drive emulation system for a disk drive
US5355497A (en) * 1992-06-10 1994-10-11 Physiotronics Corporation File directory structure generator and retrevial tool with document locator module mapping the directory structure of files to a real world hierarchical file structure

Cited By (262)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5793546A (en) * 1992-01-22 1998-08-11 Sony Corporation Data transmitting apparatus and data reproducing apparatus using format compatibility to achieve upward and downward compatibility
US5745902A (en) * 1992-07-06 1998-04-28 Microsoft Corporation Method and system for accessing a file using file names having different file name formats
US6038379A (en) * 1993-11-09 2000-03-14 Seagate Technology, Inc. Data backup and restore system for a computer network having generic remote file system agents for providing backup and restore operations
US6243762B1 (en) * 1994-08-08 2001-06-05 Mercury Computer Systems, Inc. Methods and apparatus for data access and program generation on a multiprocessing computer
US5870734A (en) * 1994-10-04 1999-02-09 Hewlett-Packard Company Three-dimensional file system using a virtual node architecture
US5579516A (en) * 1994-12-15 1996-11-26 Hewlett-Packard Company Method for storing data files on a multiple volume media set
US6418508B1 (en) * 1995-02-22 2002-07-09 Matsushita Electric Industrial Co., Ltd. Information storage controller for controlling the reading/writing of information to and from a plurality of magnetic disks and an external device
US5717951A (en) * 1995-08-07 1998-02-10 Yabumoto; Kan W. Method for storing and retrieving information on a magnetic storage medium via data blocks of variable sizes
US5870757A (en) * 1995-09-11 1999-02-09 Sun Microsystems, Inc. Single transaction technique for a journaling file system of a computer operating system
US6678712B1 (en) * 1996-01-19 2004-01-13 International Business Machines Corporation Method and system for executing a program under one of a plurality of mutually exclusive operating environments
US6049663A (en) * 1996-03-01 2000-04-11 Microsoft Corporation Method and facility for uninstalling a computer program package
US5745756A (en) * 1996-06-24 1998-04-28 International Business Machines Corporation Method and system for managing movement of large multi-media data files from an archival storage to an active storage within a multi-media server computer system
US5907679A (en) * 1996-08-19 1999-05-25 Visiontek Hard drive upgrade system
US5978767A (en) * 1996-09-10 1999-11-02 Electronic Data Systems Corporation Method and system for processing career development information
US5922072A (en) * 1997-01-03 1999-07-13 Ncr Corporation Method and apparatus for creating alternate boot environments in a computer
WO1998035285A2 (en) * 1997-02-11 1998-08-13 Connected Corporation Database/template driven file selection for backup programs
US6157931A (en) * 1997-02-11 2000-12-05 Connected Corporation Database/template driven file selection for backup programs
WO1998035285A3 (en) * 1997-02-11 1998-11-05 Connected Corp Database/template driven file selection for backup programs
US5983242A (en) * 1997-07-01 1999-11-09 Microsoft Corporation Method and system for preserving document integrity
US6810404B1 (en) * 1997-10-08 2004-10-26 Scansoft, Inc. Computer-based document management system
US6172833B1 (en) 1998-08-05 2001-01-09 International Business Machines Corporation Retrieval of serpentine pattern data using a memory device of a tape cartridge
US7342941B2 (en) * 1998-11-19 2008-03-11 Sedna Patent Services, Llc Data structure, method and apparatus providing efficient retrieval of data from a segmented information stream
US20030002586A1 (en) * 1998-11-19 2003-01-02 Jungers Patricia D. Data structure, method and apparatus providing efficient retrieval of data from a segmented information stream
US6615224B1 (en) * 1999-02-23 2003-09-02 Lewis B. Davis High-performance UNIX file undelete
US6374265B1 (en) * 1999-03-29 2002-04-16 Inventec Corp. Method for backup and recovery of the long filename in computer system
US8930319B2 (en) * 1999-07-14 2015-01-06 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US20130007391A1 (en) * 1999-07-14 2013-01-03 Commvault Systems, Inc. Modular backup and retrieval system used in conjunction with a storage area network
US20110093597A1 (en) * 1999-10-04 2011-04-21 Microsoft Corporation Method and System for Supporting Off-Line Mode of Operation and Synchronization
US8972348B2 (en) 1999-10-04 2015-03-03 Microsoft Corporation Method and system for supporting off-line mode of operation and synchronization
WO2001042922A1 (en) * 1999-12-07 2001-06-14 Data Foundation, Inc. Scalable storage architecture
US6553458B1 (en) 1999-12-14 2003-04-22 Ncr Corporation Integrated redundant storage device
US9286398B2 (en) 2000-01-31 2016-03-15 Commvault Systems, Inc. Systems and methods for retrieving data in a computer network
US8505010B2 (en) 2000-01-31 2013-08-06 Commvault Systems, Inc. Storage of application specific profiles correlating to document versions
US8725731B2 (en) 2000-01-31 2014-05-13 Commvault Systems, Inc. Systems and methods for retrieving data in a computer network
US20110173171A1 (en) * 2000-01-31 2011-07-14 Randy De Meno Storage of application specific profiles correlating to document versions
US9003137B2 (en) 2000-01-31 2015-04-07 Commvault Systems, Inc. Interface systems and methods for accessing stored data
US8725964B2 (en) 2000-01-31 2014-05-13 Commvault Systems, Inc. Interface systems and methods for accessing stored data
US9274803B2 (en) 2000-01-31 2016-03-01 Commvault Systems, Inc. Storage of application specific profiles correlating to document versions
US20050198086A1 (en) * 2000-03-23 2005-09-08 Moore Reagan W. Persistent archives
US6963875B2 (en) 2000-03-23 2005-11-08 General Atomics Persistent archives
US7349915B1 (en) 2000-03-23 2008-03-25 General Atomics Persistent archives
US6424976B1 (en) * 2000-03-23 2002-07-23 Novell, Inc. Method of implementing a forward compatibility network directory syntax
US7536425B2 (en) 2000-03-23 2009-05-19 General Atomics Persistent archives
US6678700B1 (en) 2000-04-27 2004-01-13 General Atomics System of and method for transparent management of data objects in containers across distributed heterogenous resources
US20070220199A1 (en) * 2000-04-27 2007-09-20 Moore Reagan W System of and method for transparent management of data objects in containers across distributed heterogenous resources
US20040133609A1 (en) * 2000-04-27 2004-07-08 Moore Reagan W. System of and method for transparent management of data objects in containers across distributed heterogenous resources
US7801850B2 (en) 2000-04-27 2010-09-21 General Atomics System of and method for transparent management of data objects in containers across distributed heterogenous resources
US7269604B2 (en) 2000-04-27 2007-09-11 General Atomics System of and method for transparent management of data objects in containers across distributed heterogenous resources
WO2001084265A3 (en) * 2000-04-28 2002-03-21 Near Technologies Backup and restore system for data derived from a plurality of host equipment in heterogeneous environment
FR2808349A1 (en) * 2000-04-28 2001-11-02 Neartek S A AUTOMATIC DATA BACKUP AND RESTORATION SYSTEM FROM A PLURALITY OF HOST EQUIPMENT IN A HETEROGENEOUS ENVIRONMENT
WO2001084265A2 (en) * 2000-04-28 2001-11-08 Neartek Inc. Backup and restore system for data derived from a plurality of host equipment in heterogeneous environment
US7278051B2 (en) 2000-07-06 2007-10-02 Onspec Electronic, Inc. Field-operable, stand-alone apparatus for media recovery and regeneration
US20100195290A1 (en) * 2000-07-06 2010-08-05 Mcm Portfolio Llc Smartconnect Flash Card Adapter
US20080299809A1 (en) * 2000-07-06 2008-12-04 Mcm Portfolio Llc Smartconnect flash card adapter
US6839864B2 (en) * 2000-07-06 2005-01-04 Onspec Electronic Inc. Field-operable, stand-alone apparatus for media recovery and regeneration
US20030041284A1 (en) * 2000-07-06 2003-02-27 Sreenath Mambakkam Field-operable, stand-alone apparatus for media recovery and regeneration
US20080017718A1 (en) * 2000-07-06 2008-01-24 Onspec Electronic, Inc. Memory Module Which Includes a Form Factor Connector
US7493437B1 (en) 2000-07-06 2009-02-17 Mcm Portfolio Llc Flashtoaster for reading several types of flash memory cards with or without a PC
US20070288677A1 (en) * 2000-07-06 2007-12-13 Onspec Electronic, Inc. Field-Operable, Stand-Alone Apparatus for Media Recovery and Regeneration
US7412552B2 (en) 2000-07-06 2008-08-12 Mcm Portfolio Llc Flashtoaster for reading several types of flash-memory cards, with or without a PC
US7719847B2 (en) 2000-07-06 2010-05-18 Mcm Portfolio Llc Smartconnect flash card adapter
US8337252B2 (en) 2000-07-06 2012-12-25 Mcm Portfolio Llc Smartconnect flash card adapter
US7597268B2 (en) 2000-07-06 2009-10-06 Mcm Portfolio Llc Memory module which includes a form factor connector
US20050273648A1 (en) * 2000-07-06 2005-12-08 Sreenath Mambakkam Field-operable, stand-alone apparatus for media recovery and regeneration
US8011964B2 (en) 2000-07-06 2011-09-06 Mcm Portfolio Llc Smartconnect flash card adapter
US20070180177A1 (en) * 2000-07-06 2007-08-02 Onspec Electronic, Inc. Flashtoaster for reading several types of flash-memory cards with or without a PC
US7620844B2 (en) 2000-07-06 2009-11-17 Mcm Portfolio Llc Field-operable, stand-alone apparatus for media recovery and regeneration
US6868434B1 (en) * 2000-08-07 2005-03-15 Sun Microsystems, Inc. System and method for testing server latencies using multiple concurrent users in a computer system
US20020083053A1 (en) * 2000-12-22 2002-06-27 Bruno Richard Method and apparatus for indexing files
US7558840B1 (en) * 2001-01-25 2009-07-07 Emc Corporation Data backup system having a flexible restore architecture
US20030046270A1 (en) * 2001-08-31 2003-03-06 Arkivio, Inc. Techniques for storing data based upon storage policies
US20030046313A1 (en) * 2001-08-31 2003-03-06 Arkivio, Inc. Techniques for restoring data based on contents and attributes of the data
WO2003025795A1 (en) * 2001-08-31 2003-03-27 Arkivio, Inc. Techniques for restoring data based on contents and attributes of the data
US7092977B2 (en) 2001-08-31 2006-08-15 Arkivio, Inc. Techniques for storing data based upon storage policies
US20040039891A1 (en) * 2001-08-31 2004-02-26 Arkivio, Inc. Optimizing storage capacity utilization based upon data storage costs
US20040054656A1 (en) * 2001-08-31 2004-03-18 Arkivio, Inc. Techniques for balancing capacity utilization in a storage environment
US7509316B2 (en) 2001-08-31 2009-03-24 Rocket Software, Inc. Techniques for performing policy automated operations
US20050033757A1 (en) * 2001-08-31 2005-02-10 Arkivio, Inc. Techniques for performing policy automated operations
US8612394B2 (en) 2001-09-28 2013-12-17 Commvault Systems, Inc. System and method for archiving objects in an information store
US9164850B2 (en) 2001-09-28 2015-10-20 Commvault Systems, Inc. System and method for archiving objects in an information store
US20050086231A1 (en) * 2001-10-31 2005-04-21 Alan Moore Information archiving software
US20030115204A1 (en) * 2001-12-14 2003-06-19 Arkivio, Inc. Structure of policy information for storage, network and data management applications
US20050208971A1 (en) * 2002-02-01 2005-09-22 Microsoft Corporation Method and system for managing changes to a contact database
US20050208970A1 (en) * 2002-02-01 2005-09-22 Microsoft Corporation Method and system for managing changes to a contact database
US9065902B2 (en) 2002-02-01 2015-06-23 Microsoft Technology Licensing, Llc Method and system for managing changes to a contact database
US10409829B2 (en) 2002-02-01 2019-09-10 Microsoft Technology Licensing, Llc Method and system for managing changes to a contact database
US8676178B2 (en) 2002-02-01 2014-03-18 Microsoft Corporation Method and system for managing changes to a contact database
US20040114266A1 (en) * 2002-02-28 2004-06-17 Masahiro Urano Tape cassette and tape driver
EP1480216A1 (en) * 2002-02-28 2004-11-24 Sony Corporation Tape cassette and tape driver
EP1480216A4 (en) * 2002-02-28 2006-04-19 Sony Corp Tape cassette and tape driver
US7164551B2 (en) 2002-02-28 2007-01-16 Sony Corporation Tape cassette and tape driver
US7685180B2 (en) 2002-03-14 2010-03-23 International Business Machines Corporation System and article of manufacture for transparent file restore
US20030177145A1 (en) * 2002-03-14 2003-09-18 International Business Machines Corporation Method, system, and program for a transparent file restore
US6950836B2 (en) 2002-03-14 2005-09-27 International Business Machines Corporation Method, system, and program for a transparent file restore
US7509357B2 (en) 2002-03-14 2009-03-24 International Business Machines Corporation Transparent file restore
US20090070627A1 (en) * 2002-03-14 2009-03-12 International Business Machines Corporation System and article of manufacture for transparent file restore
US20060130017A1 (en) * 2002-06-17 2006-06-15 Microsoft Corporation Combined image views and methods of creating images
US20050240627A1 (en) * 2002-06-17 2005-10-27 Microsoft Corporation Image server store system and method using combined image views
US7464176B2 (en) 2002-06-17 2008-12-09 Microsoft Corporation Multicast system and method for deploying multiple images simultaneously
US20040015536A1 (en) * 2002-06-17 2004-01-22 Microsoft Corporation Multicast system and method for deploying multiple images simultaneously
US7461095B2 (en) * 2002-06-17 2008-12-02 Microsoft Corporation Image server store system and method using combined image views
US20040083202A1 (en) * 2002-08-30 2004-04-29 Arkivio, Inc. Techniques to control recalls in storage management applications
US20040049513A1 (en) * 2002-08-30 2004-03-11 Arkivio, Inc. Techniques for moving stub files without recalling data
US20070288430A1 (en) * 2002-08-30 2007-12-13 Arkivio, Inc. Techniques to Control Recalls in Storage Management Applications
US7124322B1 (en) 2002-09-24 2006-10-17 Novell, Inc. System and method for disaster recovery for a computer network
US20040163029A1 (en) * 2002-12-02 2004-08-19 Arkivio, Inc. Data recovery techniques in storage systems
US7533012B2 (en) 2002-12-13 2009-05-12 Sun Microsystems, Inc. Multi-user web simulator
US20040117170A1 (en) * 2002-12-13 2004-06-17 Walsh Robert E. Web simulator
US20040117460A1 (en) * 2002-12-13 2004-06-17 Walsh Robert E. Multi-user web simulator
US7143025B2 (en) 2002-12-13 2006-11-28 Sun Microsystems, Inc. Web simulator
US20040193953A1 (en) * 2003-02-21 2004-09-30 Sun Microsystems, Inc. Method, system, and program for maintaining application program configuration settings
US20100114837A1 (en) * 2003-04-03 2010-05-06 Anand Prahlad Remote disaster data recovery system and method
US20050039069A1 (en) * 2003-04-03 2005-02-17 Anand Prahlad Remote disaster data recovery system and method
US20050021566A1 (en) * 2003-05-30 2005-01-27 Arkivio, Inc. Techniques for facilitating backup and restore of migrated files
US20050015409A1 (en) * 2003-05-30 2005-01-20 Arkivio, Inc. Techniques for performing operations on migrated files without recalling data
US8990695B2 (en) 2003-10-23 2015-03-24 Microsoft Technology Licensing, Llc Flexible architecture for notifying applications of state changes
US20100077310A1 (en) * 2003-10-23 2010-03-25 Microsoft Corporation Flexible architecture for notifying applications of state changes
US20100100528A1 (en) * 2003-11-13 2010-04-22 Commvault Systems, Inc. Stored data reverification management system and method
US9020990B2 (en) 2003-11-13 2015-04-28 Commvault Systems, Inc. Stored data reverification management system and method
US20060242489A1 (en) * 2003-11-13 2006-10-26 Brian Brockway Stored data reverification management system and method
US7613748B2 (en) * 2003-11-13 2009-11-03 Commvault Systems, Inc. Stored data reverification management system and method
US8346825B2 (en) 2003-11-13 2013-01-01 Commvault Systems, Inc. Stored data reverification management system and method
US8156086B2 (en) 2003-11-13 2012-04-10 Commvault Systems, Inc. Systems and methods for stored data verification
US9104340B2 (en) 2003-11-13 2015-08-11 Commvault Systems, Inc. Systems and methods for performing storage operations using network attached storage
US20090043830A1 (en) * 2003-11-13 2009-02-12 Commvault Systems, Inc. Systems and methods for stored data verification
US7155445B1 (en) * 2004-02-05 2006-12-26 Cingular Wireless Ii, Llc System and method for self-recovering real-time data-feed compression and archiving
US7266655B1 (en) 2004-04-29 2007-09-04 Veritas Operating Corporation Synthesized backup set catalog
US20060015696A1 (en) * 2004-07-15 2006-01-19 Lu Nguyen Integrated storage device
US8122201B1 (en) * 2004-09-21 2012-02-21 Emc Corporation Backup work request processing by accessing a work request of a data record stored in global memory
US7529724B1 (en) 2004-09-21 2009-05-05 Emc Corporation Servicing work requests between units of a storage device
US9075838B2 (en) 2004-09-29 2015-07-07 Rpx Corporation Method and apparatus for an improved file repository
US8793450B2 (en) 2004-09-29 2014-07-29 Verisign, Inc. Method and apparatus for an improved file repository
US7761678B1 (en) * 2004-09-29 2010-07-20 Verisign, Inc. Method and apparatus for an improved file repository
US20100218040A1 (en) * 2004-09-29 2010-08-26 Verisign, Inc. Method and Apparatus for an Improved File Repository
US8082412B2 (en) 2004-09-29 2011-12-20 Verisign, Inc. Method and apparatus for an improved file repository
US10402277B2 (en) * 2004-11-15 2019-09-03 Commvault Systems, Inc. Using a snapshot as a data source
US20150169413A1 (en) * 2004-11-15 2015-06-18 Commvault Systems, Inc. Using a snapshot as a data source
US20060129521A1 (en) * 2004-12-10 2006-06-15 Hon Hai Precision Industry Co., Ltd. System and method for restoring a file directory structure
US8145861B1 (en) * 2005-10-17 2012-03-27 Unisys Corporation Managing data transfer between different types of tape media with encryption
US20070136517A1 (en) * 2005-11-29 2007-06-14 Quantum Corporation Use of directory revision number to validate directory
US7577786B2 (en) * 2005-12-08 2009-08-18 Quality Systems Associates, Inc. Restore accelerator for serial media backup systems
US20070136540A1 (en) * 2005-12-08 2007-06-14 Matlock Clarence B Jr Restore accelerator for serial media backup systems
US7698520B2 (en) * 2006-03-10 2010-04-13 Seiko Epson Corporation Method for processing backup, devices for backup processing, and storage mediums for storing a program for operating a backup processing device
US20070214330A1 (en) * 2006-03-10 2007-09-13 Seiko Epson Corporation Method for processing backup, backup processing device, and storage medium storing program
WO2007107446A1 (en) * 2006-03-23 2007-09-27 Siemens Aktiegesellschaft Data filing method
US10769106B2 (en) 2006-08-18 2020-09-08 Falconstor, Inc. System and method for identifying and mitigating redundancies in stored data
US20130185261A1 (en) * 2006-08-18 2013-07-18 Falconstor, Inc. System and Method for Identifying and Mitigating Redundancies in Stored Data
US9710476B2 (en) * 2006-08-18 2017-07-18 Falconstor, Inc. System and method for identifying and mitigating redundancies in stored data
WO2008049102A3 (en) * 2006-10-19 2008-08-28 Thomas T Fair System and methods for zero-configuration data backup
WO2008049102A2 (en) * 2006-10-19 2008-04-24 Fair Thomas T System and methods for zero-configuration data backup
US20080115071A1 (en) * 2006-10-19 2008-05-15 Fair Thomas T System And Methods For Zero-Configuration Data Backup
US8229954B2 (en) 2006-12-22 2012-07-24 Commvault Systems, Inc. Managing copies of data
US8782064B2 (en) 2006-12-22 2014-07-15 Commvault Systems, Inc. Managing copies of data
US8260748B1 (en) * 2007-03-27 2012-09-04 Symantec Corporation Method and apparatus for capturing data from a backup image
US20090037479A1 (en) * 2007-07-31 2009-02-05 Christian Bolik Apparatus, system, and method for analyzing a file system
US8161011B2 (en) * 2007-07-31 2012-04-17 International Business Machines Corporation Apparatus, system, and method for analyzing a file system
US20110093471A1 (en) * 2007-10-17 2011-04-21 Brian Brockway Legal compliance, electronic discovery and electronic document handling of online and offline copies of data
US8396838B2 (en) 2007-10-17 2013-03-12 Commvault Systems, Inc. Legal compliance, electronic discovery and electronic document handling of online and offline copies of data
US20090157748A1 (en) * 2007-12-14 2009-06-18 Mckesson Financial Holding Limited Systems and methods for seekable layer file encoding and decoding
US11321181B2 (en) 2008-06-18 2022-05-03 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US8769048B2 (en) 2008-06-18 2014-07-01 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US20090320029A1 (en) * 2008-06-18 2009-12-24 Rajiv Kottomtharayil Data protection scheduling, such as providing a flexible backup window in a data protection system
US10198324B2 (en) 2008-06-18 2019-02-05 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US10768987B2 (en) 2008-06-19 2020-09-08 Commvault Systems, Inc. Data storage resource allocation list updating for data storage operations
US10162677B2 (en) 2008-06-19 2018-12-25 Commvault Systems, Inc. Data storage resource allocation list updating for data storage operations
US10613942B2 (en) 2008-06-19 2020-04-07 Commvault Systems, Inc. Data storage resource allocation using blacklisting of data storage requests classified in the same category as a data storage request that is determined to fail if attempted
US9639400B2 (en) 2008-06-19 2017-05-02 Commvault Systems, Inc. Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US8352954B2 (en) 2008-06-19 2013-01-08 Commvault Systems, Inc. Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US9262226B2 (en) 2008-06-19 2016-02-16 Commvault Systems, Inc. Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US9612916B2 (en) 2008-06-19 2017-04-04 Commvault Systems, Inc. Data storage resource allocation using blacklisting of data storage requests classified in the same category as a data storage request that is determined to fail if attempted
US20090320037A1 (en) * 2008-06-19 2009-12-24 Parag Gokhale Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US20090320033A1 (en) * 2008-06-19 2009-12-24 Parag Gokhale Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US10789133B2 (en) 2008-06-19 2020-09-29 Commvault Systems, Inc. Data storage resource allocation by performing abbreviated resource checks of certain data storage resources based on relative scarcity to determine whether data storage requests would fail
US9823979B2 (en) 2008-06-19 2017-11-21 Commvault Systems, Inc. Updating a list of data storage requests if an abbreviated resource check determines that a request in the list would fail if attempted
US9128883B2 (en) 2008-06-19 2015-09-08 Commvault Systems, Inc Data storage resource allocation by performing abbreviated resource checks based on relative chances of failure of the data storage resources to determine whether data storage requests would fail
US11392542B2 (en) 2008-09-05 2022-07-19 Commvault Systems, Inc. Image level copy or restore, such as image level restore without knowledge of data object metadata
US8725688B2 (en) 2008-09-05 2014-05-13 Commvault Systems, Inc. Image level copy or restore, such as image level restore without knowledge of data object metadata
US10459882B2 (en) 2008-09-05 2019-10-29 Commvault Systems, Inc. Image level copy or restore, such as image level restore without knowledge of data object metadata
US20100076932A1 (en) * 2008-09-05 2010-03-25 Lad Kamleshkumar K Image level copy or restore, such as image level restore without knowledge of data object metadata
US10572445B2 (en) 2008-09-12 2020-02-25 Commvault Systems, Inc. Transferring or migrating portions of data objects, such as block-level data migration or chunk-based data migration
US20100070466A1 (en) * 2008-09-15 2010-03-18 Anand Prahlad Data transfer techniques within data storage devices, such as network attached storage performing data migration
US10997035B2 (en) 2008-09-16 2021-05-04 Commvault Systems, Inc. Using a snapshot as a data source
US20100241837A1 (en) * 2009-03-20 2010-09-23 Concorso James A Computer with bootable restoration
US8069343B2 (en) * 2009-03-20 2011-11-29 Concorso James A Computer with bootable restoration
WO2010145034A1 (en) * 2009-06-18 2010-12-23 Research In Motion Limited Backing up and/or restoring a software application so as to facilitate compatibility checking with a target device prior to application restore
US20100325167A1 (en) * 2009-06-18 2010-12-23 Paul Edward Landry Backing up and/or restoring a software application so as to facilitate compatibility checking with a target device prior to application restore
US10831608B2 (en) 2009-09-14 2020-11-10 Commvault Systems, Inc. Systems and methods for performing data management operations using snapshots
US20110099328A1 (en) * 2009-10-24 2011-04-28 International Business Machines Corporation Efficiently restoring data from a sequential-access backup archive
US8762634B2 (en) * 2009-10-24 2014-06-24 International Business Machines Corporation Efficiently restoring data from a sequential-access backup archive
US10379957B2 (en) 2009-12-31 2019-08-13 Commvault Systems, Inc. Systems and methods for analyzing snapshots
US8484256B2 (en) * 2010-01-13 2013-07-09 International Business Machines Corporation Transformation of logical data objects for storage
US20110208789A1 (en) * 2010-01-13 2011-08-25 Jonathan Amit Transformation of logical data objects for storage
US8516006B2 (en) * 2010-01-13 2013-08-20 International Business Machines Corporation Transformation of logical data objects for storage
US20110302218A1 (en) * 2010-01-13 2011-12-08 Jonathan Amit Transformation of logical data objects for storage
US20110195821A1 (en) * 2010-02-09 2011-08-11 GoBe Healthy, LLC Omni-directional exercise device
US11074132B2 (en) 2010-09-30 2021-07-27 EMC IP Holding Company LLC Post backup catalogs
US9195685B2 (en) * 2010-09-30 2015-11-24 Emc Corporation Multi-tier recovery
US9165019B2 (en) 2010-09-30 2015-10-20 Emc Corporation Self recovery
US9195549B1 (en) 2010-09-30 2015-11-24 Emc Corporation Unified recovery
US9417966B2 (en) 2010-09-30 2016-08-16 Emc Corporation Post backup catalogs
US9542280B2 (en) 2010-09-30 2017-01-10 EMC IP Holding Company LLC Optimized recovery
US9021198B1 (en) 2011-01-20 2015-04-28 Commvault Systems, Inc. System and method for sharing SAN storage
US11228647B2 (en) 2011-01-20 2022-01-18 Commvault Systems, Inc. System and method for sharing SAN storage
US9578101B2 (en) 2011-01-20 2017-02-21 Commvault Systems, Inc. System and method for sharing san storage
US9092378B2 (en) 2011-03-31 2015-07-28 Commvault Systems, Inc. Restoring computing environments, such as autorecovery of file systems at certain points in time
US8849762B2 (en) 2011-03-31 2014-09-30 Commvault Systems, Inc. Restoring computing environments, such as autorecovery of file systems at certain points in time
US10157184B2 (en) 2012-03-30 2018-12-18 Commvault Systems, Inc. Data previewing before recalling large data files
US9633216B2 (en) 2012-12-27 2017-04-25 Commvault Systems, Inc. Application of information management policies based on operation with a geographic entity
US10831778B2 (en) 2012-12-27 2020-11-10 Commvault Systems, Inc. Application of information management policies based on operation with a geographic entity
US11409765B2 (en) 2012-12-27 2022-08-09 Commvault Systems, Inc. Application of information management policies based on operation with a geographic entity
US9459968B2 (en) 2013-03-11 2016-10-04 Commvault Systems, Inc. Single index to query multiple backup formats
US10540235B2 (en) 2013-03-11 2020-01-21 Commvault Systems, Inc. Single index to query multiple backup formats
US11093336B2 (en) 2013-03-11 2021-08-17 Commvault Systems, Inc. Browsing data stored in a backup format
US10169121B2 (en) 2014-02-27 2019-01-01 Commvault Systems, Inc. Work flow management for an information management system
US10860401B2 (en) 2014-02-27 2020-12-08 Commvault Systems, Inc. Work flow management for an information management system
US10523752B2 (en) 2014-03-05 2019-12-31 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US9769260B2 (en) 2014-03-05 2017-09-19 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US10205780B2 (en) 2014-03-05 2019-02-12 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US10986181B2 (en) 2014-03-05 2021-04-20 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US9648100B2 (en) 2014-03-05 2017-05-09 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US11316920B2 (en) 2014-03-05 2022-04-26 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US9823978B2 (en) 2014-04-16 2017-11-21 Commvault Systems, Inc. User-level quota management of data objects stored in information management systems
US11113154B2 (en) 2014-04-16 2021-09-07 Commvault Systems, Inc. User-level quota management of data objects stored in information management systems
US10776219B2 (en) 2014-05-09 2020-09-15 Commvault Systems, Inc. Load balancing across multiple data paths
US9740574B2 (en) 2014-05-09 2017-08-22 Commvault Systems, Inc. Load balancing across multiple data paths
US11119868B2 (en) 2014-05-09 2021-09-14 Commvault Systems, Inc. Load balancing across multiple data paths
US11593227B2 (en) 2014-05-09 2023-02-28 Commvault Systems, Inc. Load balancing across multiple data paths
US10310950B2 (en) 2014-05-09 2019-06-04 Commvault Systems, Inc. Load balancing across multiple data paths
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
US11416341B2 (en) 2014-08-06 2022-08-16 Commvault Systems, Inc. Systems and methods to reduce application downtime during a restore operation using a pseudo-storage device
US9444811B2 (en) 2014-10-21 2016-09-13 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US11169729B2 (en) 2014-10-21 2021-11-09 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US9645762B2 (en) 2014-10-21 2017-05-09 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US10073650B2 (en) 2014-10-21 2018-09-11 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US10474388B2 (en) 2014-10-21 2019-11-12 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US10007682B2 (en) 2015-03-30 2018-06-26 International Business Machines Corporation Dynamically maintaining data structures driven by heterogeneous clients in a distributed data collection system
US20200401757A1 (en) * 2015-07-11 2020-12-24 Thinxtream Technologies Ptd. Ltd. Hybrid system and method for data and file conversion across computing devices and platforms
US10884634B2 (en) 2015-07-22 2021-01-05 Commvault Systems, Inc. Browse and restore for block-level backups
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US10168929B2 (en) 2015-07-22 2019-01-01 Commvault Systems, Inc. Browse and restore for block-level backups
US11314424B2 (en) 2015-07-22 2022-04-26 Commvault Systems, Inc. Restore for block-level backups
US11733877B2 (en) 2015-07-22 2023-08-22 Commvault Systems, Inc. Restore for block-level backups
US11436038B2 (en) 2016-03-09 2022-09-06 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block- level pseudo-mount)
US10838821B2 (en) 2017-02-08 2020-11-17 Commvault Systems, Inc. Migrating content and metadata from a backup system
US11467914B2 (en) 2017-02-08 2022-10-11 Commvault Systems, Inc. Migrating content and metadata from a backup system
US11321195B2 (en) 2017-02-27 2022-05-03 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US11656784B2 (en) 2017-03-27 2023-05-23 Commvault Systems, Inc. Creating local copies of data stored in cloud-based data repositories
US10891069B2 (en) 2017-03-27 2021-01-12 Commvault Systems, Inc. Creating local copies of data stored in online data repositories
US11520755B2 (en) 2017-03-28 2022-12-06 Commvault Systems, Inc. Migration of a database management system to cloud storage
US10776329B2 (en) 2017-03-28 2020-09-15 Commvault Systems, Inc. Migration of a database management system to cloud storage
US11074140B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Live browsing of granular mailbox data
US11650885B2 (en) 2017-03-29 2023-05-16 Commvault Systems, Inc. Live browsing of granular mailbox data
US11294768B2 (en) 2017-06-14 2022-04-05 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
US11567990B2 (en) 2018-02-05 2023-01-31 Commvault Systems, Inc. On-demand metadata extraction of clinical image data
US10795927B2 (en) 2018-02-05 2020-10-06 Commvault Systems, Inc. On-demand metadata extraction of clinical image data
US10789387B2 (en) 2018-03-13 2020-09-29 Commvault Systems, Inc. Graphical representation of an information management system
US11880487B2 (en) 2018-03-13 2024-01-23 Commvault Systems, Inc. Graphical representation of an information management system
CN112334888A (en) * 2018-08-02 2021-02-05 日立数据管理有限公司 Distributed recovery of server information
US11573866B2 (en) 2018-12-10 2023-02-07 Commvault Systems, Inc. Evaluation and reporting of recovery readiness in a data storage management system
US11308034B2 (en) 2019-06-27 2022-04-19 Commvault Systems, Inc. Continuously run log backup with minimal configuration and resource usage from the source machine
US11829331B2 (en) 2019-06-27 2023-11-28 Commvault Systems, Inc. Continuously run log backup with minimal configuration and resource usage from the source machine
US11971784B2 (en) 2021-12-29 2024-04-30 Commvault Systems, Inc. Recovery Point Objective (RPO) driven backup scheduling in a data storage management system

Similar Documents

Publication Publication Date Title
US5485606A (en) System and method for storing and retrieving files for archival purposes
AU700681B2 (en) A method of operating a computer system
US6208999B1 (en) Recoverable computer file system with a signature area containing file integrity information located in the storage blocks
CA2549917C (en) File system storing transaction records in a storage media
EP0466389B1 (en) File system with read/write memory and write once-read many (WORM) memory
US5086502A (en) Method of operating a data processing system
US6665815B1 (en) Physical incremental backup using snapshots
US8412752B2 (en) File system having transaction record coalescing
US6546384B2 (en) Method of determining and storing indexing data on a sequential data storage medium for supporting random access of data files stored on the medium
EP1744246B1 (en) File system having deferred verification of data integrity
US8156165B2 (en) Transaction-safe FAT files system
EP1744247B1 (en) Optimized startup verification of file system integrity
EP1306761B1 (en) File managing method
US8818950B2 (en) Method and apparatus for localized protected imaging of a file system
WO1998026353A9 (en) Recoverable computer file system
JPH0786844B2 (en) Formatting a write-once optical storage medium
EP0483174B1 (en) A method of operating a data processing system
US7437387B2 (en) Method and system for providing a file system overlay
JPH0876935A (en) Backup data preparation and reproduction system
JPH09152983A (en) Reentrant garbage collection processing in file system immanent in flash memory
JP2822869B2 (en) Library file management device
US6886021B1 (en) Method for tracking audit files spanning multiple tape volumes
KR100296082B1 (en) How to exchange all electronic switch system file system with Unix file system
JP3489159B2 (en) Magnetic recording device
JPH0262624A (en) Vtoc recovering device for magnetic disk device

Legal Events

Date Code Title Description
AS Assignment

Owner name: ARCHIVE CORPORATION, CALIFORNIA

Free format text: MERGER;ASSIGNOR:IRWIN MAGNETIC SYSTEMS, INC.;REEL/FRAME:006696/0271

Effective date: 19920430

AS Assignment

Owner name: CONNER PERIPHERALS, INC., CALIFORNIA

Free format text: MERGER;ASSIGNOR:ARCHIVE CORPORATION;REEL/FRAME:007625/0673

Effective date: 19931130

AS Assignment

Owner name: CONNER PERIPHERALS, INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ARCHIVE CORPORATION;REEL/FRAME:007888/0687

Effective date: 19931130

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: SEAGATE PERIPHERALS, INC., CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:CONNER PERIPHERALS, INC.;REEL/FRAME:008568/0400

Effective date: 19960228

Owner name: SEAGATE TECHNOLOGY, INC., CALIFORNIA

Free format text: MERGER;ASSIGNOR:SEAGATE PERIPHERALS,INC.;REEL/FRAME:008587/0277

Effective date: 19970115

AS Assignment

Owner name: SEAGATE PERIPHERALS, INC., CALIFORNIA

Free format text: ;ASSIGNOR:CONNER PERIPHERALS, INC.;REEL/FRAME:008545/0682

Effective date: 19960228

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

REMI Maintenance fee reminder mailed
FPAY Fee payment

Year of fee payment: 4

SULP Surcharge for late payment
AS Assignment

Owner name: SEAGATE REMOVABLE STORAGE SOLUTIONS LLC, CALIFORNI

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SEAGATE TECHNOLOGY, INC.;REEL/FRAME:011111/0459

Effective date: 20000728

AS Assignment

Owner name: CHASE MANHATTAN BANK, AS COLLATERAL AGENT, THE, NE

Free format text: SECURITY AGREEMENT;ASSIGNOR:SEAGATE REMOVABLE STORAGE SOLUTIONS LLC;REEL/FRAME:011436/0001

Effective date: 20001122

FEPP Fee payment procedure

Free format text: PAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

Free format text: PAYER NUMBER DE-ASSIGNED (ORIGINAL EVENT CODE: RMPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

FPAY Fee payment

Year of fee payment: 8

AS Assignment

Owner name: CERTANCE LLC (FORMERLY SEAGATE REMOVABLE STORAGE S

Free format text: RELEASE;ASSIGNOR:JPMORGAN CHASE BANK;REEL/FRAME:015918/0321

Effective date: 20041101

AS Assignment

Owner name: CERTANCE LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SEAGATE REMOVABLE STORAGE SOLUTIONS, LLC;REEL/FRAME:018260/0302

Effective date: 20030401

AS Assignment

Owner name: KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AG

Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT (SECOND LIEN);ASSIGNOR:QUANTUM CORPORATION;REEL/FRAME:018268/0475

Effective date: 20060822

AS Assignment

Owner name: KEYBANK NATIONAL ASSOCIATION, AS ADMINISTRATIVE AG

Free format text: INTELLECTUAL PROPERTY SECURITY AGREEMENT (FIRST LIEN);ASSIGNOR:QUANTUM CORPORATION;REEL/FRAME:018303/0228

Effective date: 20060822

AS Assignment

Owner name: CERTANCE LLC, CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:SEAGATE REMOVABLE STORAGE SOLUTIONS LLC;REEL/FRAME:019529/0409

Effective date: 20030407

FPAY Fee payment

Year of fee payment: 12

AS Assignment

Owner name: QUANTUM CORPORATION, CALIFORNIA

Free format text: TERMINATION OF SECURITY INTEREST IN PATENTS REEL 018269 FRAME 0005 AND REEL 018268 FRAME 0475;ASSIGNOR:KEY BANK, NATIONAL ASSOCIATION;REEL/FRAME:019550/0659

Effective date: 20070712

Owner name: QUANTUM CORPORATION,CALIFORNIA

Free format text: TERMINATION OF SECURITY INTEREST IN PATENTS REEL 018269 FRAME 0005 AND REEL 018268 FRAME 0475;ASSIGNOR:KEY BANK, NATIONAL ASSOCIATION;REEL/FRAME:019550/0659

Effective date: 20070712

AS Assignment

Owner name: QUANTUM CORPORATION, CALIFORNIA

Free format text: RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL 018303 FRAME 0228;ASSIGNOR:KEYBANK NATIONAL ASSOCIATION;REEL/FRAME:019562/0926

Effective date: 20070712

AS Assignment

Owner name: CREDIT SUISSE, NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNORS:QUANTUM CORPORATION;ADVANCED DIGITAL INFORMATION CORPORATION;CERTANCE HOLDINGS CORPORATION;AND OTHERS;REEL/FRAME:019605/0159

Effective date: 20070712

Owner name: CREDIT SUISSE,NEW YORK

Free format text: SECURITY AGREEMENT;ASSIGNORS:QUANTUM CORPORATION;ADVANCED DIGITAL INFORMATION CORPORATION;CERTANCE HOLDINGS CORPORATION;AND OTHERS;REEL/FRAME:019605/0159

Effective date: 20070712

AS Assignment

Owner name: QUANTUM CORPORATION, CALIFORNIA

Free format text: PATENT ASSIGNMENT;ASSIGNOR:CERTANCE LLC;REEL/FRAME:027949/0836

Effective date: 20120328

AS Assignment

Owner name: QUANTUM CORPORATION, WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE, CAYMAN ISLANDS BRANCH (FORMERLY KNOWN AS CREDIT SUISSE), AS COLLATERAL AGENT;REEL/FRAME:027968/0007

Effective date: 20120329

Owner name: CERTANCE (US) HOLDINGS, INC., WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE, CAYMAN ISLANDS BRANCH (FORMERLY KNOWN AS CREDIT SUISSE), AS COLLATERAL AGENT;REEL/FRAME:027968/0007

Effective date: 20120329

Owner name: QUANTUM INTERNATIONAL, INC., WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE, CAYMAN ISLANDS BRANCH (FORMERLY KNOWN AS CREDIT SUISSE), AS COLLATERAL AGENT;REEL/FRAME:027968/0007

Effective date: 20120329

Owner name: CERTANCE, LLC, WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE, CAYMAN ISLANDS BRANCH (FORMERLY KNOWN AS CREDIT SUISSE), AS COLLATERAL AGENT;REEL/FRAME:027968/0007

Effective date: 20120329

Owner name: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT, CALIFO

Free format text: SECURITY AGREEMENT;ASSIGNOR:QUANTUM CORPORATION;REEL/FRAME:027967/0914

Effective date: 20120329

Owner name: CERTANCE HOLDINGS CORPORATION, WASHINGTON

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE, CAYMAN ISLANDS BRANCH (FORMERLY KNOWN AS CREDIT SUISSE), AS COLLATERAL AGENT;REEL/FRAME:027968/0007

Effective date: 20120329

Owner name: ADVANCED DIGITAL INFORMATION CORPORATION, WASHINGT

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CREDIT SUISSE, CAYMAN ISLANDS BRANCH (FORMERLY KNOWN AS CREDIT SUISSE), AS COLLATERAL AGENT;REEL/FRAME:027968/0007

Effective date: 20120329

AS Assignment

Owner name: QUANTUM CORPORATION, CALIFORNIA

Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT;REEL/FRAME:040474/0079

Effective date: 20161021