System and method for extended media retention

Information

  • Patent Grant
  • 10162712
  • Patent Number
    10,162,712
  • Date Filed
    Monday, June 10, 2013
    11 years ago
  • Date Issued
    Tuesday, December 25, 2018
    6 years ago
Abstract
The present invention provides systems and methods for extending media retention. Methods are provided in which a set of aging preferences are obtained. Data elements of a data set stored on storage media are evaluated against the aging preferences to determine whether each of the data elements satisfy the aging preferences. Each of the data elements that is determined to satisfy the aging preferences is aged. Aging can include freeing a portion of storage media, previously used to store a data element, for other storage usage.
Description
COPYRIGHT NOTICE

A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosures, as it appears in the Patent and Trademark Office patent files or records, but otherwise reserves all copyright rights whatsoever.


BACKGROUND

The invention disclosed herein relates generally to performing storage operations on electronic data in a computer network. More particularly, the present invention relates to systems and methods for conserving removable media usage in a storage network.


Current storage management systems perform many different types of storage operations including backup operations, restore operations, and archive operations. For example, during a backup operation, data stored on a client computer or other system is communicated via a network or other communication means to a storage device such as a tape drive, optical library, Redundant Arrays of Inexpensive Disks (RAID), CD-ROM jukebox, or other device. Clients are backed up periodically, and a number of different systems and methods exist for backing up client data.


For example, rather than backup all of the data on a client every time a backup is performed (also known as a full backup), incremental backups are sometimes performed copying only those blocks of data on the client which have changed since a prior backup. Thus, a system might initially make a full backup of a client and then only make incremental backups for a given period until the next full backup is scheduled.


One advantage of incremental backups is reduced storage media usage. For example, if a full backup utilizes one entire tape, then performing a daily full backup will consume approximately 30 tapes in a month. If a daily incremental backup only consumes ⅙ of a tape, however, and full backups are only performed once per week between incremental backups, then only about 8 tapes would be required—a savings of 22 tapes. Thus, incremental backups are a widely used form of backing up client data in current storage management systems.


Once the data has been backed up, however, even with incremental backups, it is not generally retained indefinitely since this would, among other things, use an extremely high number of tapes or other storage media over time. Instead, aging rules are often applied and backed up data is frequently deleted or moved to other media after a specified period of time. For example, data might be backed up daily for a month, then only monthly copies kept for a year, and then only yearly copies kept for 7 years until the data is eventually deleted.


When data is aged, the backed up data is often copied from one set of storage media to another set of media using a variety of techniques. The original tapes which stored the original backed up data (the primary copy) may then be returned to a “scratch pool” of available media for reuse. For example, one common technique used to copy backup data and other data is to perform an auxiliary copy. An auxiliary copy generally copies data from one set of media, such as a tape set storing full and incremental backups for given time period, to another set of media generally using a network pathway, such as a storage area network or other network, dedicated to performing storage operations. The tape set or other media which stored the original incremental backups (or possibly all data copied by the auxiliary copy) is then returned to the scratch pool for reuse.


One drawback with aging and copying backup copies of data is that the additional copies require additional sets of media. Thus, for example, three additional tapes are required to perform an auxiliary copy of a backup copy containing a full backup on one tape and incremental backups on two additional tapes—the three original tapes are copied to three additional tapes. One possible solution is to perform a selective auxiliary copy which copies only the full backup, but even this method requires at least one tape in addition to the tapes used for storage of data on the primary backup copy.


There is thus a need for systems and methods which reduce removable media usage during aging operations and other operations in storage management systems.


SUMMARY

In some embodiments, the present invention provides systems and methods for extending media retention.


In one embodiment, the invention provides a method for extending storage media retention, the storage media including a data set including a plurality of data elements. The method includes obtaining a set of aging preferences. The method further includes evaluating each of the data elements against the aging preferences to determine whether each of the data elements satisfies the aging preferences. The method further includes aging each of the data elements which is determined to satisfy the aging preferences.


In another embodiment, the invention provides a method for extending storage media retention, the storage media including a plurality of storage elements including a data set. The method includes obtaining a set of aging preferences. The method further includes evaluating data stored on each of the storage elements against the aging preferences to determine whether data on each of the storage elements is to be aged. The method further includes, for each storage element containing only data to be aged, returning the storage element to a scratch pool for reuse.


In another embodiment, the invention provides a method for extending storage media retention, the storage media storing a data set including a plurality of data elements. The method includes obtaining a set of aging preferences. The method further includes evaluating, from an index, index data relating to each of the data elements against the aging preferences to determine whether each of the data elements satisfies the aging preferences. The method further includes aging each of the data elements which are determined to satisfy the aging preferences by deleting data in the index associated with data elements to be aged.


In another embodiment, the invention provides a system for extending retention of storage media. The system includes a storage device and a processor. The processor is for obtaining a set of aging preferences; evaluating, from an index, index data relating to each of a set of data elements stored in the storage device against the aging preferences to determine whether each of the data elements satisfies the aging preferences; and aging each of the data elements which is determined to satisfy the aging preferences by deleting, from the index, index data associated with data elements to be aged.


In another embodiment, the invention provides a system for extending retention of storage media. The system includes one or more storage managers with access to aging preferences. The system further includes a storage device storing data elements of a data set. The system further includes one or more media agents, communicatively coupled to the storage manager and the storage device, and including one or more indices, the indices containing information associated with the data elements. The one or more media agents cause evaluation of data from the indices relating to each of the data elements against the aging preferences to determine whether each of the data elements satisfies the aging preferences, and cause the storage device to age each of the data elements which is determined to satisfy the aging preferences.





BRIEF DESCRIPTION OF THE DRAWINGS

The invention is illustrated in the figures of the accompanying drawings which are meant to be exemplary and not limiting, in which like references are intended to refer to like or corresponding parts, and in which:



FIG. 1 is a block diagram of a network architecture for a system to perform storage operations on electronic data in a computer network according to an embodiment of the invention;



FIG. 2 is a block diagram depicting incremental block level changes occurring in an exemplary series of backups according to an embodiment of the invention; and



FIG. 3 is a flow chart of a method for reducing removable media usage according to an embodiment of the invention.





DETAILED DESCRIPTION

With reference to FIGS. 1 through 3, embodiments of the invention are presented. FIG. 1 presents a block diagram of a network architecture for a system to perform storage operations on electronic data in a computer network according to an embodiment of the invention. As shown, the system includes a storage manager 100 and one or more of the following: a client 85, an information store 90, a data agent 95, a media agent 105, an index cache 110, and a storage device 115. The system and elements thereof are exemplary of a three-tier backup system such as the CommVault Galaxy backup system, available from CommVault Systems, Inc. of Oceanport, N.J., and further described in application Ser. No. 09/610,738 which is incorporated herein by reference in its entirety.


A data agent 95 is generally a software module that is generally responsible for archiving, migrating, and recovering data of a client computer 85 stored in an information store 90 or other memory location. Each client computer 85 has at least one data agent 95 and the system can support many client computers 85. The system provides a plurality of data agents 95 each of which is intended to backup, migrate, and recover data associated with a different application. For example, different individual data agents 95 may be designed to handle Microsoft Exchange data, Lotus Notes data, Microsoft Windows 2000 file system data, Microsoft Active Directory Objects data, and other types of data known in the art.


If a client computer 85 has two or more types of data, one data agent 95 is generally required for each data type to archive, migrate, and restore the client computer 85 data. For example, to backup, migrate, and restore all of the data on a Microsoft Exchange 2000 server, the client computer 85 would use one Microsoft Exchange 2000 Mailbox data agent 95 to backup the Exchange 2000 mailboxes, one Microsoft Exchange 2000 Database data agent 95 to backup the Exchange 2000 databases, one Microsoft Exchange 2000 Public Folder data agent 95 to backup the Exchange 2000 Public Folders, and one Microsoft Windows 2000 File System data agent 95 to backup the client computer's 85 file system. These data agents 95 would be treated as four separate data agents 95 by the system even though they reside on the same client computer 85.


The storage manager 100 is generally a software module or application that coordinates and controls the system. The storage manager 100 communicates with all elements of the system including client computers 85, data agents 95, media agents 105, and storage devices 115, to initiate and manage system backups, migrations, and recoveries.


A media agent 105 is generally a software module that conducts data, as directed by the storage manager 100, between the client computer 85 and one or more storage devices 115 such as a tape library, a magnetic media storage device, an optical media storage device, or other storage device. The media agent 105 is communicatively coupled with and controls the storage device 115. For example, the media agent 105 might instruct the storage device 115 to use a robotic arm or other means to load or eject a media cartridge, and to archive, migrate, or restore application specific data. The media agent 105 generally communicates with the storage device 115 via a local bus such as a SCSI adaptor. In some embodiments, the storage device 115 is communicatively coupled to the data agent 105 via a Storage Area Network (“SAN”).


Each media agent 105 maintain an index cache 110 which stores index data the system generates during backup, migration, and restore storage operations as further described herein. For example, storage operations for Microsoft Exchange data generate index data. Index data provides the system with an efficient mechanism for locating user files for backup, recovery, and archiving operations. Files backed up by a media agent 105 or associated with the media agent 105, for example, are tracked in the index cache 110 of the media agent 105 performing a backup. A media agent 105 index cache 110, for example, might track media agent associations with backed up files, media agent associations with primary copies, file names, backup dates, client information associated with backed up files, primary copy information, file sizes, file locations, pointers to file locations, and other file-related information tracked by file systems known in the art.


This index data is generally stored with the data backed up to the storage device 115, and the media agent 105 that controls the storage operation also writes an additional copy of the index data to its index cache 110. The data in the media agent 105 index cache 110 is thus readily available to the system for use in storage operations and other activities without having to be first retrieved from the storage device 115.


The storage manager 100 also maintains an index cache 110. Index data is also used to indicate logical associations between components of the system, user preferences, management tasks, and other useful data. In some embodiments, data stored in the storage manager 100 index cache 110 includes file system data regarding backed up data including media agent associations with backed up files, media agent associations with primary copies, file names, backup dates, client information associated with backed up files, primary copy information, file sizes, file locations, pointers to file locations, and other file-related information tracked by file systems known in the art. As another example, example, the storage manager 100 might use its index cache 110 to track logical associations between media agents 105 and storage devices 115.


Index caches 110 typically reside on their corresponding storage component's hard disk or other fixed storage device. Like any cache, the index cache 110 has finite capacity and the amount of index data that can be maintained directly corresponds to the size of that portion of the disk that is allocated to the index cache 110. In one embodiment, the system manages the index cache 110 on a least recently used (“LRU”) basis as known in the art. When the capacity of the index cache 110 is reached, the system overwrites those files in the index cache 110 that have been least recently accessed with the new index data. In some embodiments, before data in the index cache 110 is overwritten, the data is copied to an index cache 110 copy in a storage device 115. If a recovery operation requires data that is no longer stored in the index cache 110, such as in the case of a cache miss, the system recovers the index data from the index cache 110 copy stored in the storage device 115.


In some embodiments, components of the system may reside and execute on the same computer. In some embodiments, a client computer 85 component such as a data agent 95, a media agent 105, or a storage manager 100 coordinates and directs local archiving, migration, and retrieval application functions as further described in application Ser. No. 09/610,738. This client computer 85 component can function independently or together with other similar client computer 85 components.


Turning to FIG. 2 for example, a block diagram is shown depicting incremental block level changes occurring in a series of storage operations according to an embodiment of the invention. As shown, the diagram presents a first storage operation 120, a second storage operation 125, a third storage operation 130, a fourth storage operation 135, a fifth storage operation 140, a sixth (or nth) storage operation 145, and a number of blocks 150 backed up. The first storage operation 120 is a full backup of a client 85, such as a client 85 information store 90, consisting of six blocks 150 A0, B0, C0, D0, E0, and F0. The first storage operation 120 stores a full backup of the blocks 150 in their original or base state. The storage manager 100 monitors the information store 90 for changes that occur to the blocks 150 since the first full backup 120 is made.


For example, the second storage operation 125 is an incremental backup of the information store 90 blocks that changed since the first storage operation 120. An incremental backup stores only copies of those elements of the data that have changed since a previous storage operation. As shown, only A0, B0, and E0 have changed since the first storage operation 120, thus the system takes an incremental backup and stores only the changed blocks A1, B1, and E1. The third storage operation 130 is also an incremental backup and stores copies of only those blocks that changed since the second incremental backup 125. Thus, C1 and E2 are stored. The fourth storage operation 135 is another incremental backup and stores copies of blocks A2 and D1. The fifth storage operation 140 is another incremental backup and stores a copy of block A2.


Storage operations continue indefinitely until another full backup is made. The sixth storage operation 145 presents another full backup of the information store 90. The sixth storage operation 145 stores a full backup of the blocks 150 capturing the changes that occurred to all the blocks 150 since the first storage operation 120. In some embodiments, the sixth storage operation 145 is made as a synthetic storage operation. A synthetic storage operation takes a previous full backup of a volume and incorporates changes to the previous full backup recorded in one or more incremental backups to create an updated full backup without using the system resources that would be required to make a second full backup directly from the information store 90 itself. For example, here the sixth storage operation 145 is a full backup of the information store 90 created by combining the most recent change to A0 stored as A3 on the fifth storage operation 140, the most recent change to B0 stored as B1 on the second storage operation 125, the most recent change to C0 stored as C1 on the third storage operation 130, the most recent change to D0 stored as D1 on the fourth storage operation 135, the most recent change to E0 stored as E2 on the third storage operation 130, and F0 (which has not changed) from the first full backup 140. Since the sixth storage operation 145 is a full backup of the information store 90 created via synthetic copy, the system does not need to take another full backup of the information store 90



FIG. 3 presents a flow chart of a method for reducing removable media usage according to an embodiment of the invention. The system retrieves aging preferences, step 155. For example, the storage manager retrieves and consult a storage policy which specifies, among other things, storage patterns and aging policies for backup data stored in primary copies and other copies. For example, a storage policy might specify that client data be backed up once a week with a full backup, backed up daily using incremental backups between full backups, and retained 3 weeks before aging.


The system retrieves information from the first stored file or other block of data to determine whether the file or block should be aged or retained, step 160. For example, the storage manager 100 communicates storage policy retention and aging criteria to a media agent 105. In some embodiments, the aging and retention criteria is specified according to a user preference or as otherwise directed by a user. The media agent 105 consults file system data stored in its index cache 110 regarding backed up files and other blocks of data associated with the media agent 105. For example, the media agent may consult its index cache 119 to determine the backup date of files stored on tapes or other removable media in a storage device 115 such as a tape library or CD-jukebox.


The system determines whether or not the data should be aged, step 165. If the backup date of the data is less than the retention or aging criteria specified by the storage policy or other aging criteria, then the data is retained and not aged. If the backup date of the data is greater than the retention or aging criteria specified by the storage policy or other aging criteria, however, the data is aged by the system.


The system deletes data which is past the aging deadline, step 170. The system deletes index cache 110 entries that are associated with the data and stored index caches 110 or other storage memories of the media agent 105, the storage manager 100, and other components of the system. For example, if the system determines that an incremental backup should be aged and deleted, then the system deletes the file name, pointers to the data, and other information associated with the data and stored in the index caches 110 of the media agent 105 and storage manager 100. In some embodiments, the system deletes incremental backups, full backups, synthetic backups, differential backups, and all other types of data that satisfy the aging criteria. In some embodiments, the system only deletes pointers and other index cache references to data that satisfies the aging criteria. In other embodiments, the system also writes over the data itself using low level formatting techniques or other erasure known in the art to prevent data from being recovered.


The system determines whether any files or other blocks of data remain to check against the aging criteria, step 175. If there are remaining files or other blocks of data to check, then control returns to step 160 and the next file or other block of data is evaluated. Otherwise, removable media, such as magnetic and optical removable media, which previously stored data now aged by the system is returned to the media scratch pool for reuse and the routine exits, step 180.


Thus, in some embodiments, the system may retain all data (full, incremental, and other backups) for a given period of time, and then selectively age only certain portions of the backed up data. For example, the system may retain only full backups after three weeks, and then delete incremental backups stored on a tape set holding the primary copy. The primary copy or tape set only stores full backups after three weeks, and media in the primary copy or tape set storing incremental backups longer than three weeks can thus be returned to the media scratch pool and reused once the data is aged.


Some of the embodiments of the present invention leverage existing features of the CommVault Galaxy backup system. It will be recognized by those skilled in the art, however, that the embodiments of the present invention may be applied independently of the Galaxy system.


Systems and modules described herein may comprise software, firmware, hardware, or any combination(s) of software, firmware, or hardware suitable for the purposes described herein. Software and other modules may reside on servers, workstations, personal computers, computerized tablets, PDAs, and other devices suitable for the purposes described herein. Software and other modules may be accessible via local memory, via a network, via a browser or other application in an ASP context, or via other means suitable for the purposes described herein. Data structures described herein may comprise computer files, variables, programming arrays, programming structures, or any electronic information storage schemes or methods, or any combinations thereof, suitable for the purposes described herein. User interface elements described herein may comprise elements from graphical user interfaces, command line interfaces, and other interfaces suitable for the purposes described herein. Screenshots presented and described herein can be displayed differently as known in the art to input, access, change, manipulate, modify, alter, and work with information. Backups described herein may comprise any copies of data including snapshots, archival copies, differential copies, or other copies suitable for the purposes herein described.


While the invention has been described and illustrated in connection with preferred embodiments, many variations and modifications as will be evident to those skilled in this art may be made without departing from the spirit and scope of the invention, and the invention is thus not to be limited to the precise details of methodology or construction set forth above as such variations and modification are intended to be included within the scope of the invention.

Claims
  • 1. A computer-implemented method, comprising: storing a full backup and one or more incremental backups of a data set including multiple data elements to a removable storage media device;for each full backup and each of the one or more incremental backups stored on the removable storage media device: obtaining, with a storage manager, a set of aging preferences, wherein the set of aging preferences define periods of retention for multiple data elements of the full backup and multiple data elements of each of the one or more incremental backups stored on the removable storage media device;retrieving, with the storage manager, index data indicating a respective date of creation of the multiple data elements of the full backup or the multiple data elements of the one or more incremental backups;comparing the retrieved index data with the obtained set of aging preferences;determining that dates of creation of the multiple data elements of the full backup or the multiple data elements of the one or more incremental backups exceed the period of retention based on the comparison; andreturning the removable storage media device to a scratch pool after the dates of creation of the multiple data elements of the full backup and the multiple data elements of the one or more incremental backups exceed the respective period of retention, wherein the scratch pool includes a set of removable storage media devices to be overwritten, andwherein returning the removable storage media device to the scratch pool includes deleting the data elements of the data set stored by the removable storage media device.
  • 2. The method of claim 1, further comprising freeing a portion of storage media, previously used to store the data elements, for other storage usage.
  • 3. The method of claim 1, further comprising retrieving and consulting a storage policy that specifies storage patterns and aging policies for back up data stored in primary copies and other copies.
  • 4. The method of claim 1, further comprising deleting pointers or index references in the index data.
  • 5. The method of claim 1, further comprising managing retention of the data stored on the removable storage media device, wherein the managing comprises managing retention of individual blocks of data.
  • 6. The method of claim 1, wherein obtaining the set of aging preferences comprises obtaining an aging preference from a storage policy.
  • 7. The method of claim 1, wherein the data elements are data blocks.
  • 8. A system, comprising: a processor;memory; anda storage manager configured to: store a full backup and one or more incremental backups of a data set including multiple data elements to a removable storage media device;obtain a set of aging preferences, wherein the set of aging preferences define periods of retention for multiple data elements of the full backup and multiple data elements of one or more incremental backups stored on the removable storage device;retrieve index data indicating dates of creation of the multiple data elements of the full backup or the multiple data elements of the one or more incremental backups;compare the retrieved index data with the obtained set of aging preferences;determine that the dates of creation of the multiple data elements of the full backup or the multiple data elements of the one or more incremental backups exceed the period of retention based on the comparison; andreturn the removable storage media device to a scratch pool after the dates of creation of the multiple data elements of the full backup and the multiple data elements of the one or more incremental backups exceed respective periods of retention, wherein the scratch pool includes a set of removable storage media devices to be overwritten, andwherein returning the removable storage media device to the scratch pool includes deleting the data elements of the data set stored by the removable storage media device.
  • 9. The system of claim 8 wherein the storage manager is further configured to free a portion of storage media, previously used to store the data elements, for other storage usage.
  • 10. The system of claim 8 wherein the storage manager is further configured to retrieve and consult a storage policy that specifies storage patterns and aging policies for back up data stored in primary copies and other copies.
  • 11. The system of claim 8 wherein the storage manager is further configured to delete pointers or index references in the index data.
  • 12. The system of claim 8 wherein the storage manager is further configured to manage retention of individual blocks of data.
  • 13. The system of claim 8, wherein obtaining a set of aging preferences comprises obtaining an aging preference from a storage policy.
  • 14. The system of claim 8, wherein the data elements are data blocks.
  • 15. A non-transitory computer-readable medium whose contents, when executed by a data storage system, cause the data storage system to perform a method, the method comprising: storing a full backup and one or more incremental backups of a data set including multiple data elements to a removable storage media device;for each full backup and each of the one or more incremental backups stored on the removable storage media device: obtaining, with a storage manager of the data storage system, a set of aging preferences, wherein the set of aging preferences define periods of retention for multiple data elements of the full backup and multiple data elements of each of the one or more incremental backups stored on the removable storage media device;retrieving, with the storage manager, index data indicating a respective date of creation of the multiple data elements of the full backup or the multiple data elements of the one or more incremental backups;comparing the retrieved index data with the obtained set of aging preferences;determining that the dates of creation of the multiple data elements of the full backup or the multiple data elements of the one or more incremental backups exceed the period of retention based on the comparison; andreturning the removable storage media device to a scratch pool after the dates of creation of the multiple data elements of the full backup and the multiple data elements of the one or more incremental backups exceed the respective period of retention, wherein the scratch pool includes a set of removable storage media devices to be overwritten, andwherein returning the removable storage media device to the scratch pool includes deleting the data elements of the data set stored by the removable storage media device.
CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is a continuation of U.S. patent application Ser. No. 13/532,218 filed Jun. 25, 2012, now U.S. Pat. No. 8,463,753, which is a continuation of U.S. patent application Ser. No. 12/549,518 filed Aug. 28, 2009, now U.S. Pat. No. 8,209,293, which is a continuation of U.S. patent application Ser. No. 10/818,750 filed Apr. 5, 2004, now U.S. Pat. No. 7,596,586, which claims priority to U.S. Provisional Application No. 60/460,235, filed Apr. 3, 2003, each of which is hereby incorporated herein by reference in its entirety. This application is related to the following patents and applications, each of which is hereby incorporated herein by reference in its entirety: U.S. Pat. No. 6,418,478, titled PIPELINED HIGH SPEED DATA TRANSFER MECHANISM, issued Jul. 9, 2002; U.S. Pat. No. 7,035,880, titled MODULAR BACKUP AND RETRIEVAL SYSTEM USED IN CONJUNCTION WITH A STORAGE AREA NETWORK, issued Apr. 25, 2006; U.S. Pat. No. 6,542,972, titled LOGICAL VIEW AND ACCESS TO PHYSICAL STORAGE IN MODULAR DATA AND STORAGE MANAGEMENT SYSTEM, issued Apr. 1, 2003; application Ser. No. 60/409,183, titled DYNAMIC STORAGE DEVICE POOLING IN A COMPUTER SYSTEM, filed Sep. 9, 2002; U.S. Pat. No. 7,287,047, titled SELECTIVE DATA REPLICATION SYSTEM AND METHOD, issued Oct. 23, 2007; and application Ser. No. 60/460,234, titled SYSTEM AND METHOD FOR PERFORMING STORAGE OPERATIONS IN A COMPUTER NETWORK, filed Apr. 3, 2003.

US Referenced Citations (356)
Number Name Date Kind
4686620 Ng Aug 1987 A
4995035 Cole et al. Feb 1991 A
5005122 Griffin et al. Apr 1991 A
5093912 Dong et al. Mar 1992 A
5133065 Cheffetz et al. Jul 1992 A
5193154 Kitajima et al. Mar 1993 A
5212772 Masters May 1993 A
5226157 Nakano et al. Jul 1993 A
5239647 Anglin et al. Aug 1993 A
5241164 Pavlidis et al. Aug 1993 A
5241668 Eastridge et al. Aug 1993 A
5241670 Eastridge et al. Aug 1993 A
5265159 Kung Nov 1993 A
5276860 Fortier et al. Jan 1994 A
5276867 Kenley et al. Jan 1994 A
5287500 Stoppani, Jr. Feb 1994 A
5321816 Rogan et al. Jun 1994 A
5333315 Saether et al. Jul 1994 A
5347653 Flynn et al. Sep 1994 A
5410700 Fecteau et al. Apr 1995 A
5412668 Dewey May 1995 A
5448724 Hayashi Sep 1995 A
5455926 Keele et al. Oct 1995 A
5491810 Allen Feb 1996 A
5495457 Takagi et al. Feb 1996 A
5495607 Pisello et al. Feb 1996 A
5499364 Klein et al. Mar 1996 A
5504873 Martin et al. Apr 1996 A
5506986 Healy Apr 1996 A
5544345 Carpenter et al. Aug 1996 A
5544347 Yanai et al. Aug 1996 A
5548521 Krayer et al. Aug 1996 A
5559957 Balk Sep 1996 A
5608865 Midgely Mar 1997 A
5619644 Crockett et al. Apr 1997 A
5638509 Dunphy et al. Jun 1997 A
5673381 Huai et al. Sep 1997 A
5677900 Nishida et al. Oct 1997 A
5699361 Ding et al. Dec 1997 A
5729743 Squibb Mar 1998 A
5751997 Kullick et al. May 1998 A
5758359 Saxon May 1998 A
5761677 Senator et al. Jun 1998 A
5764972 Crouse et al. Jun 1998 A
5778395 Whiting et al. Jul 1998 A
5812398 Nielsen Sep 1998 A
5813009 Johnson Sep 1998 A
5813017 Morris Sep 1998 A
5832522 Blickenstaff et al. Nov 1998 A
5860068 Cook Jan 1999 A
5875478 Blumenau Feb 1999 A
5875481 Ashton et al. Feb 1999 A
5887134 Ebrahim Mar 1999 A
5893139 Kamiyama et al. Apr 1999 A
5898593 Baca et al. Apr 1999 A
5901327 Ofek May 1999 A
5924102 Perks Jul 1999 A
5950205 Aviani, Jr. Sep 1999 A
5958005 Thorne et al. Sep 1999 A
5974563 Beeler, Jr. Oct 1999 A
5978577 Rierden et al. Nov 1999 A
5983239 Cannon Nov 1999 A
6021415 Cannon et al. Feb 2000 A
6023705 Bellinger et al. Feb 2000 A
6026398 Brown et al. Feb 2000 A
6026414 Anglin Feb 2000 A
6052735 Ulrich et al. Apr 2000 A
6076148 Kedem Jun 2000 A
6088694 Burns et al. Jul 2000 A
6094416 Ying Jul 2000 A
6131095 Low et al. Oct 2000 A
6131099 Johnson et al. Oct 2000 A
6131147 Takagi Oct 2000 A
6131190 Sidwell Oct 2000 A
6137864 Yaker Oct 2000 A
6148412 Cannon et al. Nov 2000 A
6149316 Harari et al. Nov 2000 A
6154738 Call Nov 2000 A
6154787 Urevig et al. Nov 2000 A
6161111 Mutalik et al. Dec 2000 A
6167402 Yeager Dec 2000 A
6195794 Buxton Feb 2001 B1
6212512 Barney et al. Apr 2001 B1
6223205 Harchol-Balter et al. Apr 2001 B1
6246882 Lachance Jun 2001 B1
6260069 Anglin Jul 2001 B1
6266784 Hsiao et al. Jul 2001 B1
6269382 Cabrera et al. Jul 2001 B1
6269431 Dunham Jul 2001 B1
6275953 Vahalia et al. Aug 2001 B1
6301592 Aoyama et al. Oct 2001 B1
6304880 Kishi Oct 2001 B1
6308245 Johnson et al. Oct 2001 B1
6324581 Xu et al. Nov 2001 B1
6328766 Long Dec 2001 B1
6330570 Crighton Dec 2001 B1
6330572 Sitka Dec 2001 B1
6330642 Carteau Dec 2001 B1
6338006 Jesionowski et al. Jan 2002 B1
6343324 Hubis et al. Jan 2002 B1
RE37601 Eastridge et al. Mar 2002 E
6353878 Dunham Mar 2002 B1
6356801 Goodman et al. Mar 2002 B1
6356901 MacLeod et al. Mar 2002 B1
6366900 Hu Apr 2002 B1
6374336 Peters et al. Apr 2002 B1
6389432 Pothapragada et al. May 2002 B1
6418441 Call Jul 2002 B1
6418478 Ignatius et al. Jul 2002 B1
6421711 Blumenau et al. Jul 2002 B1
6434682 Ashton et al. Aug 2002 B1
6457017 Watkins et al. Sep 2002 B2
6484166 Maynard Nov 2002 B1
6487561 Ofek et al. Nov 2002 B1
6490666 Cabrera et al. Dec 2002 B1
6496744 Cook Dec 2002 B1
6519679 Devireddy et al. Feb 2003 B2
6538669 Lagueux, Jr. et al. Mar 2003 B1
6542972 Ignatius et al. Apr 2003 B2
6564228 O'Connor May 2003 B1
6615349 Hair Sep 2003 B1
6616047 Catan Sep 2003 B2
6658436 Oshinsky et al. Dec 2003 B2
6658526 Nguyen et al. Dec 2003 B2
6662281 Ballard et al. Dec 2003 B2
6669832 Saito et al. Dec 2003 B1
6674924 Wright et al. Jan 2004 B2
6704839 Butterworth et al. Mar 2004 B2
6721334 Ketcham Apr 2004 B1
6732293 Schneider May 2004 B1
6757794 Cabrera et al. Jun 2004 B2
6771595 Gilbert et al. Aug 2004 B1
6785078 Basham et al. Aug 2004 B2
6789161 Blendermann et al. Sep 2004 B1
6802025 Thomas et al. Oct 2004 B1
6820035 Zahavi Nov 2004 B1
6851031 Trimmer et al. Feb 2005 B2
6862622 Jorgensen Mar 2005 B2
6909356 Brown et al. Jun 2005 B2
6922687 Vernon Jul 2005 B2
6934879 Misra et al. Aug 2005 B2
6941370 Boies et al. Sep 2005 B2
6950723 Gallo et al. Sep 2005 B2
6968351 Butterworth Nov 2005 B2
6968479 Wyatt et al. Nov 2005 B2
6972918 Kokami et al. Dec 2005 B2
6973369 Trimmer et al. Dec 2005 B2
6973553 Archibald, Jr. et al. Dec 2005 B1
6983351 Gibble et al. Jan 2006 B2
7006435 Davies et al. Feb 2006 B1
7010387 Lantry et al. Mar 2006 B2
7012529 Sajkowsky Mar 2006 B2
7034683 Ghazarian Apr 2006 B2
7035880 Crescenti et al. Apr 2006 B1
7058649 Ough et al. Jun 2006 B2
7069466 Trimmer et al. Jun 2006 B2
7082441 Zahavi et al. Jul 2006 B1
7085786 Carlson et al. Aug 2006 B2
7085904 Mizuno et al. Aug 2006 B2
7093089 de Brebisson Aug 2006 B2
7096269 Yamagami Aug 2006 B2
7096315 Takeda et al. Aug 2006 B2
7103619 Rajpurkar et al. Sep 2006 B1
7103731 Gibble et al. Sep 2006 B2
7103740 Colgrove et al. Sep 2006 B1
7107298 Prahlad et al. Sep 2006 B2
7107395 Ofek et al. Sep 2006 B1
7118034 Baldassari et al. Oct 2006 B2
7120823 Foster et al. Oct 2006 B2
7130970 Devassy et al. Oct 2006 B2
7136720 Deckers Nov 2006 B2
7146377 Nowicki et al. Dec 2006 B2
7155465 Lee et al. Dec 2006 B2
7155486 Aoshima et al. Dec 2006 B2
7162496 Amarendran et al. Jan 2007 B2
7162604 Nourmohamadian et al. Jan 2007 B1
7162693 Yamanaka et al. Jan 2007 B2
7191283 Amemiya et al. Mar 2007 B2
7197490 English Mar 2007 B1
7200621 Beck et al. Apr 2007 B2
7203944 van Rietschote et al. Apr 2007 B1
7209949 Mousseau et al. Apr 2007 B2
7213118 Goodman et al. May 2007 B2
7216244 Amano May 2007 B2
7246140 Therrien et al. Jul 2007 B2
7246207 Kottomtharayil et al. Jul 2007 B2
7246258 Chen et al. Jul 2007 B2
7251218 Jorgensen Jul 2007 B2
7275063 Horn Sep 2007 B2
7277246 Barbian et al. Oct 2007 B2
7277953 Wils et al. Oct 2007 B2
7281032 Kodama Oct 2007 B2
7287047 Kavuri Oct 2007 B2
7293133 Colgrove et al. Nov 2007 B1
7302540 Holdman et al. Nov 2007 B1
7343356 Prahlad et al. Mar 2008 B2
7343453 Prahlad et al. Mar 2008 B2
7343459 Prahlad et al. Mar 2008 B2
7346623 Prahlad et al. Mar 2008 B2
7346751 Prahlad et al. Mar 2008 B2
7379850 Sprogis et al. May 2008 B2
7395282 Crescenti et al. Jul 2008 B1
7395387 Berkowitz et al. Jul 2008 B2
7401728 Markham et al. Jul 2008 B2
7412433 Anglin et al. Aug 2008 B2
7418464 Cannon et al. Aug 2008 B2
7421312 Trossell Sep 2008 B2
7434090 Hartung et al. Oct 2008 B2
7447907 Hart, III et al. Nov 2008 B2
7451283 Chen et al. Nov 2008 B2
7454569 Kavuri et al. Nov 2008 B2
7467167 Patterson Dec 2008 B2
7472238 Gokhale et al. Dec 2008 B1
7500053 Kavuri et al. Mar 2009 B1
7529782 Prahlad et al. May 2009 B2
7536424 Barzilai et al. May 2009 B2
7539702 Deshmukh et al. May 2009 B2
7539783 Kochunni et al. May 2009 B2
7565340 Herlocker et al. Jul 2009 B2
7581011 Teng Aug 2009 B2
7584227 Gokhale et al. Sep 2009 B2
7584298 Klinker et al. Sep 2009 B2
7587749 Leser et al. Sep 2009 B2
7596586 Gokhale et al. Sep 2009 B2
7603518 Kottomtharayil Oct 2009 B2
7617392 Hair Nov 2009 B2
7627617 Kavuri et al. Dec 2009 B2
7644245 Prahlad et al. Jan 2010 B2
7653671 Ikezawa et al. Jan 2010 B2
7657666 Kottomtharayil et al. Feb 2010 B2
7659820 Schnee et al. Feb 2010 B2
7660812 Findlay et al. Feb 2010 B2
7680843 Panchbudhe et al. Mar 2010 B1
7689510 Lamkin et al. Mar 2010 B2
7702659 Ban et al. Apr 2010 B2
7702831 Ma et al. Apr 2010 B2
7707060 Chainer et al. Apr 2010 B2
7712094 Shapiro May 2010 B2
7720817 Stager et al. May 2010 B2
7739450 Kottomtharayil Jun 2010 B2
7748610 Bell et al. Jul 2010 B2
7765167 Prahlad et al. Jul 2010 B2
7765369 Prahlad et al. Jul 2010 B1
7805416 Compton et al. Sep 2010 B1
7809699 Passmore et al. Oct 2010 B2
7809914 Kottomtharayil et al. Oct 2010 B2
7818417 Ginis et al. Oct 2010 B2
7822715 Petruzzo Oct 2010 B2
7831566 Kavuri et al. Nov 2010 B2
7840537 Gokhale et al. Nov 2010 B2
7849266 Kavuri et al. Dec 2010 B2
7861011 Kottomtharayil et al. Dec 2010 B2
7873802 Gokhale et al. Jan 2011 B2
7877351 Crescenti et al. Jan 2011 B2
7877362 Gokhale et al. Jan 2011 B2
7889847 Gainsboro Feb 2011 B2
7890796 Pawar et al. Feb 2011 B2
7904350 Ayala et al. Mar 2011 B2
7917473 Kavuri et al. Mar 2011 B2
7917695 Ulrich et al. Mar 2011 B2
7934071 Abe et al. Apr 2011 B2
7937365 Prahlad et al. May 2011 B2
7937393 Prahlad et al. May 2011 B2
7945810 Soran et al. May 2011 B2
7953802 Mousseau et al. May 2011 B2
7969306 Ebert et al. Jun 2011 B2
7975061 Gokhale et al. Jul 2011 B1
7987319 Kottomtharayil Jul 2011 B2
8005913 Carlander Aug 2011 B1
8032569 Oshita et al. Oct 2011 B2
8040727 Harari Oct 2011 B1
8051043 Young Nov 2011 B2
8112605 Kavuri Feb 2012 B2
8140786 Bunte et al. Mar 2012 B2
8161318 D'Souza et al. Apr 2012 B2
8195800 Tameshige et al. Jun 2012 B2
8209293 Gokhale et al. Jun 2012 B2
8219524 Gokhale Jul 2012 B2
8230066 Heil Jul 2012 B2
8230171 Kottomtharayil Jul 2012 B2
8234417 Kottomtharayil et al. Jul 2012 B2
8244841 Shaji et al. Aug 2012 B2
8266406 Kavuri Sep 2012 B2
8266615 Shapiro Sep 2012 B2
8463753 Gokhale et al. Jun 2013 B2
8661216 Kavuri et al. Feb 2014 B2
20020010661 Waddington et al. Jan 2002 A1
20020032613 Buettgenbach et al. Mar 2002 A1
20020049778 Bell et al. Apr 2002 A1
20020069324 Gerasimov et al. Jun 2002 A1
20020087950 Brodeur et al. Jul 2002 A1
20030055671 Nassar Mar 2003 A1
20030065759 Britt et al. Apr 2003 A1
20030101155 Gokhale et al. May 2003 A1
20030134619 Phillips et al. Jul 2003 A1
20030220901 Carr et al. Nov 2003 A1
20030225800 Kavuri Dec 2003 A1
20040054607 Waddington et al. Mar 2004 A1
20040073677 Honma et al. Apr 2004 A1
20040083202 Mu et al. Apr 2004 A1
20040107199 Dalrymple et al. Jun 2004 A1
20040167898 Margolus Aug 2004 A1
20040186847 Rappaport et al. Sep 2004 A1
20040193953 Callahan et al. Sep 2004 A1
20050008163 Leser et al. Jan 2005 A1
20050021524 Oliver Jan 2005 A1
20050033913 Kottomtharayil et al. Feb 2005 A1
20050039069 Prahlad et al. Feb 2005 A1
20050102203 Keong May 2005 A1
20050125807 Brady et al. Jun 2005 A1
20050174869 Kottomtharayil et al. Aug 2005 A1
20050177828 Graham et al. Aug 2005 A1
20050210304 Hartung et al. Sep 2005 A1
20050246342 Vernon Nov 2005 A1
20060004639 O'Keefe Jan 2006 A1
20060004675 Bennett et al. Jan 2006 A1
20060011720 Call Jan 2006 A1
20060075007 Anderson et al. Apr 2006 A1
20060095385 Atkinson et al. May 2006 A1
20060100912 Kumar et al. May 2006 A1
20060161879 Lubrecht et al. Jul 2006 A1
20060169769 Boyarsky et al. Aug 2006 A1
20060224846 Amarendran et al. Oct 2006 A1
20060248165 Sridhar et al. Nov 2006 A1
20060282194 Schaefer et al. Dec 2006 A1
20060285172 Hull et al. Dec 2006 A1
20070061266 Moore et al. Mar 2007 A1
20070130105 Papatla Jun 2007 A1
20070156897 Lim Jul 2007 A1
20070185912 Gupta et al. Aug 2007 A1
20070198722 Kottomtharayil et al. Aug 2007 A1
20080243420 Gokhale et al. Oct 2008 A1
20080243754 Gokhale et al. Oct 2008 A1
20080243795 Prahlad et al. Oct 2008 A1
20080243870 Muller et al. Oct 2008 A1
20080244177 Crescenti et al. Oct 2008 A1
20080249656 Gokhale et al. Oct 2008 A1
20080250076 Muller et al. Oct 2008 A1
20080320319 Muller et al. Dec 2008 A1
20090063765 Kottomtharayil et al. Mar 2009 A1
20090319534 Gokhale Dec 2009 A1
20100017528 Awano Jan 2010 A1
20100030528 Smith et al. Feb 2010 A1
20100070466 Prahlad et al. Mar 2010 A1
20100070474 Lad Mar 2010 A1
20100070726 Ngo et al. Mar 2010 A1
20100082818 Paul et al. Apr 2010 A1
20100138393 Crescenti et al. Jun 2010 A1
20100293112 Prahlad et al. Nov 2010 A1
20110093672 Gokhale et al. Apr 2011 A1
20110213755 Kavuri et al. Sep 2011 A1
20110231852 Gokhale et al. Sep 2011 A1
20120084523 Littlefield et al. Apr 2012 A1
20120185657 Gokhale et al. Jul 2012 A1
20120265732 Gokhale et al. Oct 2012 A1
20120265936 Kottomtharayil Oct 2012 A1
Foreign Referenced Citations (23)
Number Date Country
0259912 Mar 1988 EP
0259912 Mar 1988 EP
0405926 Jan 1991 EP
0405926 Jan 1991 EP
0467546 Jan 1992 EP
0467546 Jan 1992 EP
0620553 Oct 1994 EP
0774715 May 1997 EP
0774715 May 1997 EP
0809184 Nov 1997 EP
0809184 Nov 1997 EP
0899662 Mar 1999 EP
0899662 Mar 1999 EP
0981090 Feb 2000 EP
0981090 Feb 2000 EP
7254204 Oct 1995 JP
9044381 Feb 1997 JP
9081424 Mar 1997 JP
WO9513580 May 1995 WO
WO-9513580 May 1995 WO
WO9912098 Mar 1999 WO
WO-9912098 Mar 1999 WO
WO-2005024573 Mar 2005 WO
Non-Patent Literature Citations (25)
Entry
U.S. Appl. No. 09/609,977, filed Jul. 5, 2000, Prahlad.
U.S. Appl. No. 10/655,764, filed Sep. 5, 2003, Nourmohamadian.
U.S. Appl. No. 11/269,513, filed Nov. 7, 2005, Prahlad.
Allen, Probablility, Statistics and Queuing Theory, (1978), p. 370, col. 19, Lines 3-33, 1 page.
Armstead et al., “Implementation of a Campus-wide Distributed Mass Storage Service: The Dream vs. Reality,” IEEE, 1995, pp. 190-199.
Arneson, “Mass Storage Archiving in Network Environments,” Digest of Papers, Ninth IEEE Symposium on Mass Storage Systems, Oct. 31, 1988-Nov. 3, 1988, pp. 45-50, Monterey, CA.
Ashton et al., “Two Decades of policy-based storage management for the IBM mainframe computer”, www.research.ibm.com, 19 pages, published Apr. 10, 2003, printed Jan. 3, 2009.
Cabrera et al., “ADSM: A Multi-Platform, Scalable, Backup and Archive Mass Storage System,” Digest of Papers, Compcon '95, Proceedings of the 40th IEEE Computer Society International Conference, Mar. 5, 1995-Mar. 9, 1995, pp. 420-427, San Francisco, CA.
Campbell C: “Linux and Windows NT 4.0: Basic Administration—Part III” Internet Publication, [Online] Oct. 5, 2000, Retrieved from the Internet: URL: <http://linux.omnipotent.net/article.php?article_id=10933> [retrieved on Aug. 22, 2006], 6 pages.
Carrington D: “Backups Using the “at” Command”, Internet Publication, [Online] May 4, 1999, Retrieved from the Internet: URL: <http://groups.google.de/group/microsoft.public.windowsnt.misc/browse_thread/thread/d1406a9a8391afea/48bac300a0adcc7a?Ink=st&q=&rnum=12&h1=de#48bac300a0adcc7a> [retrieved on Aug. 22, 2006].
Cook P: “ntbackup: eject tape at end of backup?” Internet Publication, [Online] Oct. 18, 2000, Retrieved from the Internet: URL: <http://groups.google.de/group/microsoft.public.windowsnt.misc/browse_thread/thread/8f67f0cc96df42b7/0ab1d93a6f91b511?Ink=st&q=%22ntbackup+eject%22+at&rnum=1&hl=de#0ab1d93a6f91b511> [retrieved on Aug. 22, 2006].
Eitel, “Backup and Storage Management in Distributed Heterogeneous Environments,” IEEE, 1994, pp. 124-126.
Gonzalez-Seco, Jose, “A Genetic Algorithm as the Learning Procedure for Neural Networks,” International Joint Conference on Neural Networks, Jun. 1992, 356 pages.
Jander, M., “Launching Storage-Area Net,” Data Communications, US, McGraw Hill, NY, vol. 27, No. 4 (Mar. 21, 1998), pp. 64-72.
Jason Gait, “The Optical File Cabinet: A Random-Access File System for Write-Once Optical Disks,” IEEE Computer, vol. 21, No. 6, pp. 11-22 (1988) (see in particular figure 5 in p. 15 and recitation in claim 5).
MDM: “Automatically eject tape”, Internet Publication, [Online] Jun. 7, 1999, Retrieved from Internet: URL: <http://groups.google.de/group/microsoft.public.windowsnt.misc/browse_thread/thread/66537271a88cebda/2f8b1b96dfc5f102?Ink=st&q=&rnum=11&hl=de#2f8b1b96dfc5f102> [retrieved on Jun. 22, 2006].
Recycle Bin (Windows), Aug. 2007, Wikipedia, pp. 1-3.
Rosenblum et al., “The Design and Implementation of a Log-Structured File System,” Operating Systems Review SIGOPS, vol. 25, No. 5, New York, US, pp. 1-15 (May 1991).
Savill J: “Windows NT FAQ Single File Version—Section Backup's” Internet Publication, [Online] 2000, Retrieved from Internet: URL: <http://burks.bton.ac.uk/burks/pcinfo/osdocs/ntfaq/ntfaq_09.htm> [retrieved on Aug. 22, 2006].
U.S. Appl. No. 13/787,280, filed Mar. 6, 2013, Vibhor et al.
U.S. Appl. No. 13/942,460, filed Nov. 14, 2013, Kottomtharayil et al.
International Search Report and Written Opinion for International Application No. PCT/US2013/029393; dated Jun. 27, 2013; 10 pages.
Armstead et al., “Implementation of a Campus-wide Distributed Mass Storage Service: The Dream vs. Reality,” IEEE, Sep. 11-14, 1995, pp. 190-199.
Eitel, “Backup and Storage Management in Distributed Heterogeneous Environments,” IEEE, Jun. 12-16, 1994, pp. 124-126.
Gait, J., “The Optical File Cabinet: A Random-Access File System for Write-Once Optical Disks,” IEEE Computer, vol. 21, No. 6, pp. 11-22 (Jun. 1988).
Related Publications (1)
Number Date Country
20130275380 A1 Oct 2013 US
Provisional Applications (1)
Number Date Country
60460235 Apr 2003 US
Continuations (3)
Number Date Country
Parent 13532218 Jun 2012 US
Child 13914075 US
Parent 12549518 Aug 2009 US
Child 13532218 US
Parent 10818750 Apr 2004 US
Child 12549518 US