Method and system for restoring information from backup storage media

Information

  • Patent Grant
  • 8615490
  • Patent Number
    8,615,490
  • Date Filed
    Thursday, January 31, 2008
    16 years ago
  • Date Issued
    Tuesday, December 24, 2013
    11 years ago
Abstract
First and second partial files are read from first and second storage media, respectively, irrespective of a sequence in which the first and second storage media were originally written relative to one another. The first partial file forms a first portion of a complete file. The second partial file forms a second portion of the complete file. The first and second partial files are combined to extract and form the complete file, without dependence on re-reading the first and second storage media.
Description
TECHNICAL FIELD

The disclosures herein relate in general to computer systems, and in particular to a method and system for restoring information from backup storage media.


SUMMARY

First and second partial files are read from first and second storage media, respectively, irrespective of a sequence in which the first and second storage media were originally written relative to one another. The first partial file forms a first portion of a complete file. The second partial file forms a second portion of the complete file. The first and second partial files are combined to extract and form the complete file, without dependence on re-reading the first and second storage media.





BRIEF DESCRIPTION OF THE DRAWING


FIG. 1 is a block diagram of an information handling system, according to the illustrative embodiment.



FIG. 2 is a first flow diagram of information restored from backup storage media by the system of FIG. 1, according to the illustrative embodiment.



FIG. 3 is a second flow diagram of information restored from backup storage media by the system of FIG. 1, according to the illustrative embodiment.



FIG. 4 is a third flow diagram of information restored from backup storage media by the system of FIG. 1, according to the illustrative embodiment.





DETAILED DESCRIPTION


FIG. 1 is a block diagram of an information handling system, indicated generally at 100, according to the illustrative embodiment. In the example of FIG. 1, the system 100 operates in association with a human user 102. The system 100 is formed by various electronic circuitry components, including: (a) a general purpose computer 104, such as a workstation or server, for executing and otherwise processing instructions, and for performing additional operations (e.g., communicating information) in response thereto, as discussed further hereinbelow; (b) input devices 106 for receiving information from the user 102; (c) a display device 108 (e.g., a conventional flat panel monitor) for displaying information to the user 102; (d) a print device 110 (e.g., a conventional electronic printer or plotter) for printing visual images on paper; (e) a computer-readable medium (or apparatus) 112 (e.g., a hard disk drive or other nonvolatile storage device) for storing information; (f) a portable computer-readable medium (or apparatus) 114 (e.g., a portable hard disk drive, flash memory card, CD-ROM, or magnetic tape) for storing information; and (g) various other electronic circuitry for performing other operations of the system 100.


Accordingly, in the example of FIG. 1, the computer 104 is connected to the input devices 106, the display device 108, the print device 110, the computer-readable medium 112, and the computer-readable medium 114, as shown in FIG. 1. Also, for example, the computer 104 includes a memory device (e.g., random access memory (“RAM”) device and/or read only memory (“ROM”) device) for storing information (e.g., instructions of software executed by the computer 104, and data processed by the computer 104 in response to such instructions).


In response to signals from the computer 104, the display device 108 displays visual images, which represent information, and the user 102 views such visual images. Moreover, the user 102 operates the input devices 106 to output information to the computer 104, and the computer 104 receives such information from the input devices 106. Also, in response to signals from the computer 104, the print device 110 prints visual images on paper, and the user 102 views such visual images.


The input devices 106 include, for example, a conventional electronic keyboard (or keypad) and a pointing device, such as a conventional electronic “mouse,” rollerball or light pen. The user 102 operates the keyboard (or keypad) to output alphanumeric text information to the computer 104, which receives such alphanumeric text information. The user 102 operates the pointing device to output cursor-control information to the computer 104, and the computer 104 receives such cursor-control information. The input devices 106 also include, for example, touch-sensitive circuitry of a liquid crystal display (“LCD”) device.


The computer 104 is coupled through a network to various other devices (not shown in FIG. 1). Through such network, the computer 104 outputs information (e.g., instructions, data, signals) to such devices, which receive and operate in response to such information. In one example, such information is specified by the user 102 to the computer 104 through the input devices 106. Also, through such network, such devices output information to the computer 104, which receives and operates in response to such information. In one example, such information is output by the computer 104 for display to the user 102 through the display device 108 and the print device 110, in response to command(s) from the user 102.


In one embodiment: (a) the computer-readable medium (or apparatus) 114 includes a backup tape storage medium (e.g., magnetic tape for storing digital information); and (b) the computer 104 (and/or such apparatus in response to signals from the computer 104) includes circuitry for writing information to, and reading information from, such backup tape(s). For clarity, in FIG. 2, FIG. 3 and FIG. 4, and in the detailed description hereinbelow, various references are made to one or more backup tape storage media (or “backup tapes” or “tapes”), but such references likewise apply to the computer-readable medium 114 generally, in any of its various embodiments (e.g., a portable hard disk drive, flash memory card, CD-ROM, or other persistent data storage medium). For example, the user 112 may operate the system 100 to copy an image from one or more backup tape storage media to the computer-readable medium 114 (e.g., embodied as a hard disk drive), so that the system 100 restores information (as discussed further hereinbelow in connection with FIG. 2, FIG. 3 and FIG. 4) in response to the image on the computer-readable medium 114.



FIG. 2 is a first flow diagram of information restored from backup storage media by the system 100, according to the illustrative embodiment. In the example of FIG. 2, the backup storage media are shown as a set of tapes, namely a Tape 1 and a Tape 2. In another example, the backup storage media include one or more other embodiments of the computer-readable medium 114 (e.g., embodied as a hard disk drive), onto which an image was copied from one or more backup tape storage media.


Vast amounts of active and archived electronic information may exist on backup tape storage media. Conventional methods of restoring such information from large quantities of backup tapes are difficult to implement, cost prohibitive, or both. Restoring such information is especially difficult for companies that have multiple systems with different backup tape environments.


In a first mode of operation, the system 100 restores such information by replicating (and operating in) a native environment with which the backup tapes were originally written (“NE”), so that the system 100: (a) restores such information from the backup tapes; and (b) after restoring such information, writes such information to a target storage device (e.g., the computer-readable medium 112) for storage and further processing (e.g., analysis) by the system 100. Nevertheless, such replication of the NE is challenging if the NE becomes outdated by new technology (e.g., if the NE's hardware or software is lost or malfunctions and is difficult to repair or replace), or if key parameters of the NE become lost.


In a second mode of operation, the system 100 operates with a non-native environment (“NNE”) that is significantly different from the NE, yet the system 100 still: (a) restores such information from the backup tapes; and (b) after restoring such information, writes such information to a target storage device (e.g., the computer-readable medium 112) for storage and further processing (e.g., analysis) by the system 100. In that manner, the system 100 operates with more speed and efficiency, because it operates without replicating the NE. For example, by operating in the NNE, the system 100 restores such information from backup tapes of various NEs, in a manner that achieves more parallel processing.


For operating in the NNE, the system 100 communicates with the backup tapes' hardware and restores information from the backup tapes, according to specified protocols and formats of: (a) such hardware; and (b) other significant aspects of the NE (e.g., specified protocols and formats of the NE's software and information stored therewith). Accordingly, the system 100 is programmed to: (a) read information from the backup tapes; (b) analyze patterns within such information (e.g., sequences, byte signatures, and other identifiers); (c) in response to such analysis, identify such hardware and other significant aspects of the NE; and (d) in response to such identification, read (e.g., from a memory of the system 100) and execute the specified protocols and formats (e.g., metadata formats) for restoring information from the backup tapes.


Frequently, the backup storage media include many tapes that store large amounts of information. A particular file's information may, or may not, be stored at contiguous addresses on one or more tapes. Accordingly, a particular file's location on the tape(s) may be specified by: (a) starting, ending, or intermediate address(es) for the information; (b) potentially starting, ending, or intermediate address(es) for discontinuous portions of the information; or (c) any combination thereof.


The system 100 restores information from the backup storage media, even if: (a) the backup storage media include many tapes that store large amounts of information; and (b) any particular file's information is potentially stored at contiguous addresses on multiple ones of those tapes; and (c) a sequential order of such tapes is unknown. In either of the first or second modes of operation (as selected by the user 102), which are discussed further hereinabove, the system 100 restores information from all such tapes, according to the techniques discussed further hereinbelow in connection with FIG. 2, FIG. 3 and FIG. 4. The tapes store information as one or more files. In the example of FIG. 2, the Tape 1 stores information as a File 1, a File 2, and a File 3-A. The File 1 and the File 2 are complete files. The File 3-A is a partial file, so that it forms a first portion of a File 3. At least one additional portion of the File 3 is stored by at least one additional tape.


As shown in FIG. 2, the Tape 2 stores information as a File 3-B, a File 4, and a File 5-A. The File 4 is a complete file. The File 3-B is a partial file, so that it forms a second portion of the File 3. Together, the File 3-A and the File 3-B form the complete File 3.


The File 5-A is a partial file, so that it forms a portion of a File 5. However, in this example, either: (a) at least one additional portion of the File 5 is stored by at least one additional tape, which is lost or malfunctioning; or (b) the File 5-A itself has an error, so that it contains insufficient information for completing the File 5 (e.g., insufficient information for linking to another File 5-B on another tape).


As shown in FIG. 2, the system 100 reads the set of tapes (e.g., one tape at a time, or multiple tapes in parallel with one another), irrespective of an original sequence of the tapes relative to one another (e.g., irrespective of a sequence in which the tapes were originally written relative to one another). For instance, in the example of FIG. 2, the system 100 is adaptable to preferences of the user 102, so that the system 100 is suitable for reading: (a) the Tape 1 before the Tape 2; (b) the Tape 2 before the Tape 1; or (c) the Tape 1 and the Tape 2 in parallel with one another.


In response to reading a tape, the system 100: (a) generates and temporarily stores an image of such tape, such as the temporary tape images shown in FIG. 2; and (b) identifies, extracts and writes (to a target storage device, such as the computer-readable medium 112) complete files that exist on such tape, so that the target storage device stores such complete files. For instance, in the example of FIG. 2, the system 100 identifies, extracts and writes (to the target storage device): (a) the complete File 1 and the complete File 2 that exist on the Tape 1; and (b) the complete File 4 that exists on the Tape 2.


Moreover, in response to the temporary tape image of such tape, the system 100 identifies and temporarily stores (in partial images, or “imagettes”) partial files that exist on such tape. For instance, in the example of FIG. 2, the system 100 identifies and temporarily stores: (a) an Imagette 1 of the partial File 3-A that exists on the Tape 1; (b) an Imagette 2 of the partial File 3-B that exists on the Tape 2; and (c) an Imagette 3 of the partial File 5-A that exists on the Tape 2.


After the system 100 stores all imagettes of a complete file, the system 100: (a) executes join & extract instructions (e.g., software instructions) for combining such imagettes to extract and form the complete file; and (b) writes the complete file to the target storage device, so that the target storage device stores such complete file. For instance, in the example of FIG. 2, after the system 100 stores the Imagette 1 (of the partial File 3-A) and the Imagette 2 (of the partial File 3-B), the system 100: (a) executes the join & extract instructions for combining the Imagette 1 and the Imagette 2 to extract and form the complete File 3; and (b) writes the complete File 3 to the target storage device.


As discussed hereinabove, with respect to the File 5-A, either: (a) at least one additional portion of the File 5 is stored by at least one additional tape, which is lost or malfunctioning; or (b) the File 5-A itself has an error, so that it contains insufficient information for completing the File 5 (e.g., insufficient information for linking to another File 5-B on another tape). In response to this situation, the system 100 writes the Imagette 3 (of the File 5-A) to the target storage device for storage and further processing (e.g., analysis) by the system 100 to potentially recover information from the Imagette 3.



FIG. 3 is a second flow diagram of information restored from backup storage media by the system 100, according to the illustrative embodiment. The example of FIG. 3 is identical to the example of FIG. 2, except that the set of tapes in FIG. 3 includes an additional Tape 3, which stores information as a File 5-B. The File 5-B is a partial file, so that it forms a second portion of the File 5. Together, the File 5-A and the File 5-B form the complete File 5.


In the example of FIG. 3, as in the example of FIG. 2, the system 100 is adaptable to preferences of the user 102, so that the system 100 is suitable for reading the Tape 1, the Tape 2, and the Tape 3 in any order, or in parallel with one another, irrespective of an original sequence of the tapes relative to one another (e.g., irrespective of a sequence in which the tapes were originally written relative to one another). Likewise, in the example of FIG. 3, as in the example of FIG. 2, the system 100 identifies, extracts and writes (to the target storage device): (a) the complete File 1 and the complete File 2 that exist on the Tape 1; and (b) the complete File 4 that exists on the Tape 2.


Similarly, in the example of FIG. 3, the system 100 identifies and temporarily stores respective imagettes of: (a) the partial File 3-A that exists on the Tape 1; (b) the partial File 3-B and the partial File 5-A that exist on the Tape 2; and (c) the partial File 5-B that exists on the Tape 3. After the system 100 stores such imagettes, the system 100 executes the join & extract instructions for: (a) combining the imagette of the partial File 3-A and the imagette of the partial File 3-B to extract and form the complete File 3; and (b) combining the imagette of the partial File 5-A and the imagette of the partial File 5-B to extract and form the complete File 5.


After forming the complete File 3, the system 100 writes it to the target storage device. Likewise, after forming the complete File 5, the system 100 writes it to the target storage device.



FIG. 4 is a third flow diagram of information restored from backup storage media by the system 100, according to the illustrative embodiment. The example of FIG. 4 is identical to the example of FIG. 3, except that: (a) the Tape 1 stores more information as an additional File 6, an additional File 7, and an additional File 8-A; (b) the Tape 2 stores more information as an additional File 8B; and (c) the Tape 3 stores more information as an additional File 8-C and an additional File 9. The File 6, the File 7, and the File 9 are complete files. The File 8-A, the File 8-B, and the File 8-C are partial files, which together form the complete File 8.


As shown in FIG. 4: (a) the File 1, the File 2, the File 3-A, the File 3-B and the File 4 were written onto the backup storage media (Tape 1, Tape 2) in a first backup session; (b) the File 5-A and the File 5-B were written onto the backup storage media (Tape 2, Tape 3) in a second backup session; and (c) the File 6, the File 7, the File 8-A, the File 8-B, the File 8-C and the File 9 were written onto the backup storage media (Tape 1, Tape 2, Tape 3) in a third backup session.


In the example of FIG. 4, as in the example of FIG. 3, the system 100 identifies, extracts and writes (to the target storage device): (a) the complete File 1 and the complete File 2 that exist on the Tape 1; and (b) the complete File 4 that exists on the Tape 2. Moreover, in the example of FIG. 4, the system 100 identifies, extracts and writes (to the target storage device): (a) the complete File 6 and the complete File 7 that exist on the Tape 1; and (b) the complete File 9 that exists on the Tape 3. The system 100 is operable to perform subsequent operations in response to such File 1, File 2, File 4, File 6, File 7 and File 9 that are stored by the target storage device.


Similarly, in the example of FIG. 4, the system 100 identifies and temporarily stores respective imagettes of: (a) the partial File 3-A and the partial File 8-A that exist on the Tape 1; (b) the partial File 3-B, the partial File 5-A, and the partial File 8-B that exist on the Tape 2; and (c) the partial File 5-B and the partial File 8-C that exist on the Tape 3.


After the system 100 stores such imagettes, the system 100 executes the join & extract instructions for: (a) combining the imagette of the partial File 3-A and the imagette of the partial File 3-B to extract and form the complete File 3; (b) combining the imagette of the partial File 5-A and the imagette of the partial File 5-B to extract and form the complete File 5; and (c) combining the imagette of the partial File 8-A, the imagette of the partial File 8-B, and the imagette of the partial File 8-C to extract and form the complete File 8.


After forming the complete File 3, the system 100 writes it to the target storage device. Likewise: (a) after forming the complete File 5, the system 100 writes it to the target storage device; and (b) after forming the complete File 8, the system 100 writes it to the target storage device. The system 100 is operable to perform subsequent operations in response to such File 3, File 5 and File 8 that are stored by the target storage device.


According to the techniques of FIG. 2, FIG. 3 and FIG. 4, the system 100 reads the set of tapes in a single pass to restore the information from such tapes, irrespective of an original sequence of such tapes relative to one another (e.g., irrespective of a sequence in which the tapes were originally written relative to one another), and without dependence on re-reading such tapes in a subsequent pass, and even if such tapes have various media types that differ from one another (e.g., even if such tapes have various media types that differ from one another on a tape-by-tape basis). This single pass technique is superior to previous techniques that: (a) in a first pass, read the set of tapes to determine an original sequence of such tapes relative to one another; and (b) in a second pass, re-read such tapes in such original sequence to restore the information from such tapes. Such previous techniques consume more time and human effort in loading and unloading the various tapes during the first and second passes.


In the illustrative embodiment, the system 100 stores the imagettes in a non-native format that is (a) different from a native format in which such imagettes were originally written to the tapes, yet (b) more efficient for subsequent operations of the system 100. In one version of the illustrative embodiment, such non-native format is substantially similar to (yet different from) the native format. In an alternative embodiment, the system 100 stores the imagettes in the native format.


Referring again to FIG. 1, the computer 104 and the computer-readable medium 114 are structurally and functionally interrelated with one another, as described further hereinbelow. In that regard, the computer-readable medium 114 is a representative one of the computer-readable media of the system 100 (including, but not limited to, the computer-readable medium 112). The computer-readable medium 114 stores (or encodes, or records, or embodies) functional descriptive material (including, but not limited to, software and data structures). Such functional descriptive material imparts functionality when encoded on the computer-readable medium 114.


Also, such functional descriptive material is structurally and functionally interrelated to the computer-readable medium 114.


Within such functional descriptive material, data structures define structural and functional interrelationships between such data structures and the computer-readable medium 114 (and other aspects of the computer 104 and the system 100). Such interrelationships permit the data structures' functionality to be realized. Also, within such functional descriptive material, software (also referred to as computer programs or applications) defines structural and functional interrelationships between such software and the computer-readable medium 114 (and other aspects of the computer 104 and the system 100). Such interrelationships permit the software's functionality to be realized.


For example, the computer 104 reads (or accesses, or copies) such functional descriptive material from the computer-readable medium 114 into the memory device of the computer 104, and the computer 104 performs its operations (as described elsewhere herein) in response to such material, which is stored in the memory device of the computer 104. More particularly, the computer 104 performs the operation of processing software (which is stored, encoded, recorded or embodied on a computer-readable medium) for causing the computer 104 to perform additional operations (as described elsewhere herein). Accordingly, such functional descriptive material exhibits a functional interrelationship with the way in which the computer 104 executes its processes and performs its operations.


Further, the computer-readable media of the system 100 are apparatus from which the software is accessible by the computer 104, and the software is processable by the computer 104 for causing the computer 104 to perform such additional operations. In addition to reading such functional descriptive material from the computer-readable medium 114, the computer 104 is capable of reading such functional descriptive material from (or through) a network, which is also a computer-readable medium (or apparatus) of the system 100. Moreover, the memory device of the computer 104 is itself a computer-readable medium (or apparatus) of the system 100.


Although illustrative embodiments have been shown and described, a wide range of modification, change and substitution is contemplated in the foregoing disclosure. In some instances, various features of the embodiments may be used without a corresponding use of other features.

Claims
  • 1. A method for restoring data from backup storage media performed by an information handling system utilizing at least one computing device, the method comprising the steps of: reading first and second partial files from first and second backup storage media, respectively, irrespective of a sequence in which the first and second backup storage media were originally written relative to one another and without replicating a native environment in which the first and second backup storage media were written, and wherein the first and second backup storage media have respective media types that differ from one another; wherein a second partial file of the first and second partial files forms a second portion of a complete file; andcombining the first and second partial files to extract and form the complete file, without dependence on re-reading the first and second backup storage media;writing the complete file to a target storage; andperforming an operation in response to the complete file that is stored in the target storage; and wherein the complete file is a first complete file and further comprising the step of:reading a second complete file from the first backup storage medium; andextracting the second complete file, without dependence on re-reading the backup storage media;reading a third complete file from the second backup storage medium; wherein the reading comprises:reading a third partial file from the first backup storage medium, reading the first partial file from the first backup storage medium, and reading the second partial file from the second backup storage medium, irrespective of the sequence in which the first and second backup storage media were originally written relative to one another; wherein the third partial file forms a portion of a second complete file; andextracting the portion of the second complete file from the third partial file, without dependence on re-reading the backup storage media and extracting the third complete file, without dependence on re-reading the backup storage media.
  • 2. The method of claim 1, wherein the target storage is a computer-readable medium.
  • 3. The method of claim 1, wherein the complete file is a first complete file, and wherein the reading comprises: reading a third partial file from a third backup storage medium, reading the first partial file from the first backup storage medium, reading a fourth partial file from the first backup storage medium, reading the second partial file from the second backup storage medium, and reading a fifth partial file from the second backup storage medium, irrespective of a sequence in which the backup storage media were originally written relative to one another; wherein the third partial file forms a first portion of a second complete file; wherein the fourth partial file forms a second portion of the second complete file; andwherein the fifth partial file forms a third portion of the second complete file.
  • 4. The method of claim 3, and comprising: combining the third, fourth and fifth partial files to extract and form the second complete file, without dependence on re-reading the backup storage media.
  • 5. A system, comprising: first and second backup storage media wherein the first and second storage media have respective media types that differ from one another; andan information handling system for:reading first and second partial files from the first and second backup storage media, respectively, irrespective of a sequence in which the first and second backup storage media were originally written relative to one another and without replicating a native environment in which the first and second backup storage media were written; wherein the first partial file forms a first portion of a complete file; and wherein the second partial file forms a second portion of the complete file; andcombining the first and second partial files to extract and form the complete file, without dependence on re-reading the first and second backup storage media and wherein the complete file is a first complete file wherein the information handling system reads a second complete file from the first backup storage medium and extracts the second complete file without dependence on re-reading the backup storage media and reads a third complete file from the second backup storage medium extracts the third complete file, without dependence on re-reading the backup storage media; andwriting the complete file to a computer-readable medium for storage; andperforming an operation in response to the complete file that is stored by the computer readable medium.
  • 6. The system of claim 5, wherein the information handling system is for: reading the first and second partial files from the first and backup second storage media, respectively, irrespective of the sequence in which the first and backup second storage media were originally written relative to one another, and without replicating a native environment with which the first and second backup storage media were originally written.
  • 7. The system of claim 5, wherein the complete file is a first complete file, and wherein the information handling system is for: reading a third partial file from a third backup storage medium, reading the first partial file from the first backup storage medium, reading a fourth partial file from the first backup storage medium, reading the second partial file from the second backup storage medium, and reading a fifth partial file from the second backup storage medium, irrespective of a sequence in which the backup storage media were originally written relative to one another; wherein the third partial file forms a first portion of a second complete file; wherein the fourth partial file forms a second portion of the second complete file; and wherein the fifth partial file forms a third portion of the second complete file; andcombining the third, fourth and fifth partial files to extract and form the second complete file, without dependence on re-reading the backup storage media.
  • 8. The system of claim 5, wherein the complete file is a first complete file, and wherein the information handling system is for: reading a third partial file from the first backup storage medium, reading the first partial file from the first backup storage medium, and reading the second partial file from the second backup storage medium, irrespective of the sequence in which the first and second backup storage media were originally written relative to one another; wherein the third partial file forms a portion of a second complete file; andextracting the portion of the second complete file from the third partial file, without dependence on re-reading the backup storage media.
  • 9. A non-transitory computer-readable medium storing computer executable instructions that when executed by a computer cause the computer to perform a method, the method comprising: reading first and second partial files from first and second backup storage media, respectively, irrespective of a sequence in which the first and second backup storage media were originally written relative to one another; wherein the first and second media types differ from each other and wherein the first partial file forms a first portion of a complete file; and wherein the second partial file forms a second portion of the complete file;combining the first and second partial files to extract and form the complete file, without dependence on re-reading the first and second backup storage media; wherein the complete file is a first complete file and wherein the information handling system reads a second complete file from the first backup storage medium and extracts the second complete file, without dependence on re-reading the backup storage media, and reads the second complete file from the first backup storage medium and extracts the third complete file, without dependence on re-reading the backup storage media;writing the complete file to a device for storage; andperforming an operation in response to the complete file that is stored by the device.
  • 10. The non-transitory computer-readable storage medium of claim 9, wherein the method further comprises: reading the first and second partial files from the first and second backup storage media, respectively, irrespective of the sequence in which the first and second backup storage media were originally written relative to one another, and without replicating a native environment with which the first and second backup storage media were originally written.
  • 11. The non-transitory computer-readable storage medium of claim 9, wherein the complete file is a first complete file, and wherein the method further comprises: reading a third partial file from a third backup storage medium, reading the first partial file from the first backup storage medium, reading a fourth partial file from the first backup storage medium, reading the second partial file from the second backup storage medium, and reading a fifth partial file from the second backup storage medium, irrespective of a sequence in which the backup storage media were originally written relative to one another; wherein the third partial file forms a first portion of a second complete file; wherein the fourth partial file forms a second portion of the second complete file; and wherein the fifth partial file forms a third portion of the second complete file; andcombining the third, fourth and fifth partial files to extract and form the second complete file, without dependence on re-reading the backup storage media.
  • 12. The non-transitory computer-readable storage medium of claim 9, wherein the complete file is a first complete file, and wherein the method further comprises: reading a third partial file from the first backup storage medium, reading the first partial file from the first backup storage medium, and reading the second partial file from the second backup storage medium, irrespective of the sequence in which the first and second backup storage media were originally written relative to one another; wherein the third partial file forms a portion of a second complete file; andextracting the portion of the second complete file from the third partial file, without dependence on re-reading the backup storage media.
US Referenced Citations (180)
Number Name Date Kind
4706212 Toma Nov 1987 A
5107419 MacPhail Apr 1992 A
5278980 Pedersen et al. Jan 1994 A
5350303 Fox et al. Sep 1994 A
5535121 Roche et al. Jul 1996 A
5535381 Kopper Jul 1996 A
5617566 Malcolm Apr 1997 A
5644774 Fukumochi et al. Jul 1997 A
5687384 Nagase Nov 1997 A
5689699 Howell et al. Nov 1997 A
5717913 Driscoll Feb 1998 A
5732265 Dewitt et al. Mar 1998 A
5742807 Masinter Apr 1998 A
5778395 Whiting et al. Jul 1998 A
5813009 Johnson et al. Sep 1998 A
5813015 Pascoe Sep 1998 A
5926811 Miller et al. Jul 1999 A
5937401 Hillegas Aug 1999 A
5982370 Kamper Nov 1999 A
6006221 Liddy et al. Dec 1999 A
6023710 Steiner et al. Feb 2000 A
6047294 Deshayes et al. Apr 2000 A
6125371 Bohannon et al. Sep 2000 A
6157931 Cane et al. Dec 2000 A
6182029 Friedman Jan 2001 B1
6189002 Roitblat Feb 2001 B1
6199067 Geller Mar 2001 B1
6199081 Meyerzon et al. Mar 2001 B1
6216123 Robertson et al. Apr 2001 B1
6226630 Billmers May 2001 B1
6226759 Miller et al. May 2001 B1
6240409 Aiken May 2001 B1
6243713 Nelson et al. Jun 2001 B1
6256633 Dharap Jul 2001 B1
6269382 Cabrera et al. Jul 2001 B1
6278992 Curtis et al. Aug 2001 B1
6324548 Sorenson Nov 2001 B1
6389403 Dorak May 2002 B1
6393389 Chanod et al. May 2002 B1
6408266 Oon Jun 2002 B1
6421767 Milillo et al. Jul 2002 B1
6453280 Yang Sep 2002 B1
6477544 Bolosky et al. Nov 2002 B1
6493711 Jeffrey Dec 2002 B1
6662198 Satyanarayanan et al. Dec 2003 B2
6708165 Jeffrey Mar 2004 B2
6745197 McDonald Jun 2004 B2
6751628 Coady Jun 2004 B2
6778979 Grefenstette et al. Aug 2004 B2
6810395 Bharat Oct 2004 B1
6834110 Marconcini et al. Dec 2004 B1
6859800 Roche et al. Feb 2005 B1
6915435 Merriam Jul 2005 B1
6928526 Zhu et al. Aug 2005 B1
6947954 Cohen et al. Sep 2005 B2
6952737 Coates et al. Oct 2005 B1
6954750 Bradford Oct 2005 B2
6996580 Bae et al. Feb 2006 B2
7047386 Ngai et al. May 2006 B1
7089286 Malik Aug 2006 B1
7137065 Huang et al. Nov 2006 B1
7146388 Stakutis et al. Dec 2006 B2
7158970 Chang et al. Jan 2007 B2
7174368 Ross, Jr. Feb 2007 B2
7260568 Zhang et al. Aug 2007 B2
7269564 Milsted et al. Sep 2007 B1
7284191 Grefenstette et al. Oct 2007 B2
7287025 Wen et al. Oct 2007 B2
7313556 Gallivan et al. Dec 2007 B2
7325041 Hara et al. Jan 2008 B2
7458082 Slaughter et al. Nov 2008 B1
7478113 De Spiegeleer Jan 2009 B1
7526478 Friedman Apr 2009 B2
7533291 Lin May 2009 B2
7650341 Oratovsky et al. Jan 2010 B1
7860706 Abir Dec 2010 B2
8095516 Margolus et al. Jan 2012 B2
20020002468 Spagna et al. Jan 2002 A1
20020019814 Ganesan Feb 2002 A1
20020038296 Margolus et al. Mar 2002 A1
20020059317 Black et al. May 2002 A1
20020107803 Lisanke et al. Aug 2002 A1
20020107877 Whiting et al. Aug 2002 A1
20020116402 Luke Aug 2002 A1
20020120925 Logan Aug 2002 A1
20020138376 Hinkle Sep 2002 A1
20020140960 Ishikawa Oct 2002 A1
20020143737 Seki et al. Oct 2002 A1
20020143871 Meyer et al. Oct 2002 A1
20020147733 Gold et al. Oct 2002 A1
20020161745 Call Oct 2002 A1
20020178176 Sekiguchi et al. Nov 2002 A1
20020193986 Schirris Dec 2002 A1
20020194324 Guha Dec 2002 A1
20030028889 McCoskey et al. Feb 2003 A1
20030069803 Pollitt Apr 2003 A1
20030069877 Grefenstette et al. Apr 2003 A1
20030093790 Logan et al. May 2003 A1
20030105718 Hurtado et al. Jun 2003 A1
20030110130 Pelletier Jun 2003 A1
20030126247 Strasser et al. Jul 2003 A1
20030126362 Camble et al. Jul 2003 A1
20030135464 Mourad et al. Jul 2003 A1
20030145209 Eagle et al. Jul 2003 A1
20030182304 Summerlin et al. Sep 2003 A1
20030233455 Leber et al. Dec 2003 A1
20040003132 Stanley et al. Jan 2004 A1
20040034550 Menschik et al. Feb 2004 A1
20040034632 Carmel et al. Feb 2004 A1
20040054630 Ginter et al. Mar 2004 A1
20040064447 Simske et al. Apr 2004 A1
20040064537 Anderson et al. Apr 2004 A1
20040068604 Le et al. Apr 2004 A1
20040083211 Bradford Apr 2004 A1
20040143609 Gardner et al. Jul 2004 A1
20040158559 Poltorak Aug 2004 A1
20040168058 Margolus Aug 2004 A1
20040186827 Anick et al. Sep 2004 A1
20040193695 Salo et al. Sep 2004 A1
20040205448 Grefenstette et al. Oct 2004 A1
20050076293 Beresnevichiene Apr 2005 A1
20050097081 Sellen et al. May 2005 A1
20050097092 Annau et al. May 2005 A1
20050114282 Todhunter May 2005 A1
20050114370 Lewak et al. May 2005 A1
20050144157 Moody et al. Jun 2005 A1
20050160481 Todd et al. Jul 2005 A1
20050223067 Buchheit et al. Oct 2005 A1
20050234843 Beckius et al. Oct 2005 A1
20050283473 Rousso et al. Dec 2005 A1
20060026220 Margolus Feb 2006 A1
20060122998 Bar-Yossef et al. Jun 2006 A1
20060167679 Tsai et al. Jul 2006 A1
20060167842 Watson Jul 2006 A1
20060173824 Bensky et al. Aug 2006 A1
20060230035 Bailey et al. Oct 2006 A1
20060265209 Bradford Nov 2006 A1
20060271526 Charnock et al. Nov 2006 A1
20070011154 Musgrove et al. Jan 2007 A1
20070022134 Zhou et al. Jan 2007 A1
20070030528 Quaeler et al. Feb 2007 A1
20070033177 Friedman Feb 2007 A1
20070033183 Friedman Feb 2007 A1
20070033410 Eagle et al. Feb 2007 A1
20070038616 Guha Feb 2007 A1
20070050339 Kasperski et al. Mar 2007 A1
20070050351 Kasperski et al. Mar 2007 A1
20070061335 Ramer et al. Mar 2007 A1
20070088687 Bromm et al. Apr 2007 A1
20070192284 Finley et al. Aug 2007 A1
20070198470 Freedman et al. Aug 2007 A1
20070233692 Lisa et al. Oct 2007 A1
20070245108 Yasaki et al. Oct 2007 A1
20070253643 Nagarajan Nov 2007 A1
20070255686 Kemp et al. Nov 2007 A1
20070266009 Williams Nov 2007 A1
20070282811 Musgrove Dec 2007 A1
20070282826 Hoeber et al. Dec 2007 A1
20070288445 Kraftsow Dec 2007 A1
20070288450 Datta et al. Dec 2007 A1
20080005651 Grefenstette et al. Jan 2008 A1
20080059187 Roitblat et al. Mar 2008 A1
20080059512 Roitblat et al. Mar 2008 A1
20080077570 Tang et al. Mar 2008 A1
20080097975 Guay et al. Apr 2008 A1
20080104032 Sarkar May 2008 A1
20080133570 Allen et al. Jun 2008 A1
20080147644 Aridor et al. Jun 2008 A1
20080155192 Iitsuka Jun 2008 A1
20080162498 Omoigui Jul 2008 A1
20080189273 Kraftsow et al. Aug 2008 A1
20080195601 Ntoulas et al. Aug 2008 A1
20080235202 Wang et al. Sep 2008 A1
20080288474 Chin et al. Nov 2008 A1
20090024612 Tang et al. Jan 2009 A1
20090182737 Melman Jul 2009 A1
20090182789 Sandorfi et al. Jul 2009 A1
20090287685 Charnock et al. Nov 2009 A1
20090313248 Balachandran et al. Dec 2009 A1
20090327625 Jaquette et al. Dec 2009 A1
Foreign Referenced Citations (5)
Number Date Country
1967972 Sep 2008 EP
2003303194 Oct 2003 JP
2004213237 Jul 2004 JP
WO 03019412 Mar 2003 WO
WO 2008080140 Jul 2008 WO
Non-Patent Literature Citations (38)
Entry
Amati, G. et al.; “Probabilistic Models of Information Retreival Based on Measuring the Divergence from Randomness”; ACM Transactions on Information Systems, vol. 20, No. 4. Oct. 2002.
Attar et al., “Local Feedback in Full-Text Retrieval Systems”, Journal of the ACM (JACM), vol. 24, Issue 3 (Jul. 1977), pp. 397-417, ISSN:0004-5411.
Cai et al., “Automatic Query Expansion Based on Directed Divergence”, Proceedings of the International Conference on Information Technology: Coding and Computing, p. 8, 2002, ISBN:0-7695-1506-1.
Cohen, E. et al.; “Processing Top k Queries from Samples”; ACM.
Conlon, S., “Automatic Web Searching and Categorizing Using Query Expansion and Focusing”, (Mississippi University.), 6p, Jan. 2003.
Crestani, F. et al.; “Is This Document Relevant? . . . Probably”: A Survey of Probabilistic Models in Information Retrieval; ACM Computing Surveys vol. 30, No. 4, Dec. 1998.
E. M. Voorhees, “Query expansion using lexical-semantic relations”, Annual ACM Conference on Research and Development in Information Retrieval, Proceedings of the 17th annual international ACM SIGIR conference on Research and development in information retrieval, 1994, Dublin, Ireland, Aug. 1994, pp. 61-69, ISBN:0-387-1988-X.
Gauch et al., “A Corpus Analysis Approach for Automatic Query Expansion and Its Extension to Multiple Databases” ACM Transactions on Information Systems, vol. 17, No. 3, Jul. 1999, pp. 250-269.
Gehler, P. et al.; “The Rate Adapting Poisson Model for Information Retrieval and Object Recognition”; Proceedings of the 23rd International Conference on Machine Learning, 2006.
http://www.googleguide.com/tools.html <retrieved on Jul. 8, 2009>.
http://www.lexisnexis.com/toolbar/help/using.htm#HighlightAndClick <retrieved on Jul. 8, 2009>.
Ilyas, I. et al.; “Adaptive Rank-Aware Query Optimization in Relational Databases”; ACM Transactions on Database Systems; vol. 31. No. 4, Dec. 2006.
Luk, R. et al.; “A Comparison of Chinese Document Indexing Strategies and Retrieval Models”; ACM Transactions on Asian Language Information Processing, vol. 1, No. 3, Sep. 2002.
Margulis, E.; “Modelling Documents with Multiple Poisson Distributions”; Information Processing & Management vol. 29, No. 2, 1993.
Margulis, E.; “N-Poisson Document Modelling”; SIGIR '92.
Mei, Q. et al.; “A Study of Poisson Query Generation Model for Information Retrieval”; SIGIR '07 Proceedings, Session 12: Formal Models.
Mitra et al., “Improving Automatic Query Expansion”, Annual ACM Conference on Research and Development in Information Retrieval, Proceedings of the 21st annual international ACM SIGIR conference on Research and development in information retrieval, Melbourne, Australia, pp. 206-214, Year of Publication: 1998, ISBN:1-58113-015-5.
Ozmutlu, H. et al.; “Analysis of large data logs: an application of Poisson sampling on excite web queries”; Information Processing and Management, vol. 38, 2002.
Robertson, S. et al.; “Some Simple Effective Approximations to the 2-Poisson Model for Probabilistic Weighted Retreival”; Centre for Interactive Systems Research, London.
Roelleke, T.; “A Frequency-based and a Poisson-based Definition of the Probability of Being Informative”; SIGIR '03.
Tao, Y. et al.; “Indexing Multi-Dimensional Uncertain Data with Arbitrary Probability Density Functions”; Proceedings of the 31st VLDB Conference, Norway 2005.
Volkmer et al., “Exploring Automatic Query Refinement for Text-Based Video Retrieval”, IEEE International Conference on Multimedia and Expo, Jul. 9-12, 2006, pp. 765-768, Toronto, Ont., ISBN: 1-4244-0366-7.
Xu et al., “Query expansion using local and global document analysis,” in Proc. of ACM-SIGIR 1996, Zurich, Switzerland, Aug. 18-22, 1996, pp. 4-11.
Yan, T. et al.; “The SIFT Information Dissemination System”; ACM Transactions on Database Systems, vol. 24, No. 4, Dec. 1999.
Zakariah, R. et al.; “Detecting Junk Mails by Implementing Statistical Theory”; IEEE Proceedings of the 20th International Conference on Advanced Information Networking and Applications, 2006.
Roitblat, Herbert L. (2004), “Electronic Data Are Increasingly Important to Successful Litigation”, Trends in Electronic Data.
Roitblat, Herbert L. (2005), “Document Retrieval”, DolphinSearch, Inc.
“The Sedona Principles: Best Practices Recommendations & Principles for Addressing Electronic Document Production,” The Sedona Conference Working Group Series, Jul. 2005 Version.
Meng, W., et al., “Building Efficient and Effective Metasearch Engines,” ACM Computing Surveys, ACM, New York, NY, US, US, vol. 34, No. 1, Mar. 1, 2002, pp. 48-89.
Comparing IBM Tivoli Storage Manager and VERITAS NetBackup in Real-World Environments. A summary by IBM of the whitepaper and benchmark written by Progressive Strategies, Nov. 8, 2002.
Beyond Backup Toward Storage Management by M. Kaczmarski, T. Jiang and D.A. Pease. IBM Systems Journal, vol. 42, pp. 322-337, Nov. 2, 2003.
PCT Search Report and Written Opinion dated Jun. 18, 2008, PCT/US07/13483.
PCT Search Report and Written Opinion dated May 8, 2009, PCT/US2009/032990.
Mosher, Sue, “Outlook Tips and Techniques,” Windows IT Pro, Feb. 12, 2001.
International Search Report and Written Opinion from PCT/US2010/060899 dated Mar. 3, 2011.
International Search Report and Written Opinion from PCT/US2010/059775 dated Mar. 16, 2011.
International Search Report and Written Opinion from PCT/US11/22472 dated Mar. 30, 2011.
International Search Report and Written Opinion from PCT/US11/26924 dated Apr. 29, 2011.