A system and method backs up computer files to backup drives connected to multiple computer systems. Each file in a backup set is allocated to one or more backup subsets for each of the multiple computer systems. The files can be allocated in an even number across each subset, allocated to evenly spread the number of bytes to each subset, or, using the capacity of each of the multiple computer systems, allocated so that each computer system can complete backing up the files allocated to it in approximately the same amount of time. The system can restrict the number of bytes continuously required from a single disk by one of the backup machines from exceeding a threshold limit. Each of the multiple computer systems is then directed to, and the computer systems do, back up files in one or more subsets, which may be allocated to that computer system. |
Citations|
| US5515502 | Sep 30, 1993 | May 7, 1996 | Sybase, Inc. | Data backup system with methods for stripe affinity backup to multiple archive devices | | US5721916 | Feb 26, 1997 | Feb 24, 1998 | Microsoft Corporation | Method and system for shadowing file system structures from multiple types of networks | | US5790886 | Dec 5, 1995 | Aug 4, 1998 | International Business Machines Corporation | Method and system for automated data storage system space allocation utilizing prioritized data set parameters | | US5799322 | Jan 30, 1997 | Aug 25, 1998 | Tandem Computer, Inc. | System and method for stopping updates at a specified timestamp in a remote duplicate database facility | | US5819296 | Oct 31, 1996 | Oct 6, 1998 | VERITAS Software Corporation | Method and apparatus for moving large numbers of data files between computer systems using import and export processes employing a directory of file handles | | US5832522 | May 22, 1996 | Nov 3, 1998 | Kodak Limited | Data storage management for network interconnected processors | | US5857193 | Jun 13, 1997 | Jan 5, 1999 | | Centralized audiotext polling system | | US5857208 | May 31, 1996 | Jan 5, 1999 | EMC Corporation | Method and apparatus for performing point in time backup operation in a computer system | | US5860122 | Nov 12, 1996 | Jan 12, 1999 | Matsushita Electric Industrial Co., Ltd. | Backup unit including identifier conversion means |
Referenced by|
| US6240427 | Jan 5, 1999 | May 29, 2001 | Advanced Micro Devices, Inc. | Method and apparatus for archiving and deleting large data sets | | US6374267 | Aug 13, 1999 | Apr 16, 2002 | Unisys Corporation | Database backup system and method utilizing numerically identified files for incremental dumping | | US6411969 | Aug 13, 1999 | Jun 25, 2002 | Unisys Corporation | Enhanced system and method for management of system database utilities | | US6415300 | Jul 6, 1999 | Jul 2, 2002 | Syncsort Incorporated | Method of performing a high-performance backup which gains efficiency by reading input file blocks sequentially | | US6505216 | Oct 1, 1999 | Jan 7, 2003 | EMC Corporation | Methods and apparatus for backing-up and restoring files using multiple trails | | US6606693 | Jun 20, 2002 | Aug 12, 2003 | | Method and system for long-term digital data storage | | US6625625 | Apr 4, 2000 | Sep 23, 2003 | Hitachi, Ltd. | System and method for backup and restoring by utilizing common and unique portions of data | | US6678700 | Apr 27, 2000 | Jan 13, 2004 | General Atomics | System of and method for transparent management of data objects in containers across distributed heterogenous resources | | US6708227 | Apr 24, 2000 | Mar 16, 2004 | Microsoft Corporation | Method and system for providing common coordination and administration of multiple snapshot providers | | US6910112 | Jun 25, 2004 | Jun 21, 2005 | Microsoft Corporation | System and method for backing up and restoring data | | US6948038 | Jul 24, 2001 | Sep 20, 2005 | Microsoft Corporation | System and method for backing up and restoring data | | US6959368 | Jun 29, 1999 | Oct 25, 2005 | EMC Corporation | Method and apparatus for duplicating computer backup data | | US6981007 | Nov 6, 2000 | Dec 27, 2005 | | Onsite backup for internet-based data processing | | US7054892 | Dec 23, 1999 | May 30, 2006 | EMC Corporation | Method and apparatus for managing information related to storage activities of data storage systems | | US7162599 | Nov 24, 2004 | Jan 9, 2007 | Microsoft Corporation | System and method for backing up and restoring data | | US7206911 | Feb 25, 2004 | Apr 17, 2007 | International Business Machines Corporation | Method, system, and program for a system architecture for an arbitrary number of backup components | | US7213158 | Jun 28, 2002 | May 1, 2007 | Lenovo (Singapore) Pte. Ltd. | Distributed autonomic backup | | US7269604 | Oct 24, 2003 | Sep 11, 2007 | General Atomics | System of and method for transparent management of data objects in containers across distributed heterogenous resources | | US7346636 | Feb 14, 2006 | Mar 18, 2008 | EMC Corporation | Method and apparatus for managing information related to storage activities of data storage systems | | US7444485 | May 23, 2005 | Oct 28, 2008 | EMC Corporation | Method and apparatus for duplicating computer backup data | | US7475099 | Feb 25, 2004 | Jan 6, 2009 | International Business Machines Corporation | Predictive algorithm for load balancing data transfers across components | | US7478386 | May 3, 2005 | Jan 13, 2009 | International Business Machines Corporation | Resource-conservative installation of compressed archives | | US7546305 | Apr 13, 2001 | Jun 9, 2009 | Oracle International Corporation | File archival | | US7636916 | May 5, 2004 | Dec 22, 2009 | International Business Machines Corporation | Self-optimizing workload distribution among virtual storage controllers | | US7647364 | Sep 9, 2005 | Jan 12, 2010 | WhitServe LLC | Onsite backup of internet-based data in a requested format | | US7698520 | Mar 12, 2007 | Apr 13, 2010 | Seiko Epson Corporation | Method for processing backup, devices for backup processing, and storage mediums for storing a program for operating a backup processing device | | US7801850 | May 21, 2007 | Sep 21, 2010 | General Atomics | System of and method for transparent management of data objects in containers across distributed heterogenous resources | | US7809898 | May 18, 2004 | Oct 5, 2010 | Symantec Operating Corporation | Detecting and repairing inconsistencies in storage mirrors | | US7831561 | May 18, 2004 | Nov 9, 2010 | Oracle International Corporation | Automated disk-oriented backups | | US7925628 | Nov 17, 2009 | Apr 12, 2011 | WhitServe LLC | Internet-based data processing system with onsite backup | | US7974951 | Jul 2, 2010 | Jul 5, 2011 | WhitServe LLC | Onsite backup for third party internet-based systems | | US8027951 | Mar 9, 2008 | Sep 27, 2011 | International Business Machines Corporation | Predictive algorithm for load balancing data transfers across components |
Claims1. An apparatus for backing up a plurality of files, comprising: - a controller machine having an input operatively coupled to receive at least one backup set comprising at least one identifier of the files and to receive at least one set of information corresponding to a backup drive, the controller machine for allocating the at least one identifier in the at least one backup set into a plurality of drive backup sets, and for transmitting the drive backup sets to an output; and
- at least one backup machine having an input coupled to the controller machine output, for receiving at least one drive backup set and for retrieving files corresponding to the identifiers in the drive backup set and transmitting said files to a backup drive for storage.
2. A method of backing up files, comprising: - receiving a backup set comprising a description of a plurality of files to be backed up;
- allocating file identifiers of the plurality of files to a plurality of backup subsets;
- providing the file identifiers in at least a first one of said plurality of backup subsets so as to cause the files corresponding to the file identifiers in the at least first one of said plurality of backup subsets to be copied onto a first backup media; and
- providing the file identifiers in at least a second, different from the first, one of said plurality of backup subsets so as to cause the files corresponding to the file identifiers in the at least second one of said plurality of backup subsets to be copied onto a second backup media different from the first backup media.
3. The method of claim 2, wherein the allocating step comprises assigning substantially a same number of file identifiers to each of a plurality of the backup subsets. 4. The method of claim 3, wherein the assigning step comprises, for each of a plurality of the backup subsets, selecting at random a plurality of file identifiers from file identifiers corresponding to the backup set. 5. The method of claim 3, wherein the assigning step comprises, for each of a plurality of the backup subsets, selecting a plurality of file identifiers having a sequential order according to the first backup set. 6. The method of claim 2, wherein the allocating step comprises assigning approximately a same number of bytes to each of a plurality of the backup subsets. 7. The method of claim 2, wherein the allocating step comprises identifying a backup subsystem from a plurality of backup subsystems capable of most efficiently backing up each of a plurality of files. 8. The method of claim 2, wherein: - the file identifiers in the first one of the plurality of backup subsets are provided to a first computer system; and
- the file identifiers in the second one of the plurality of backup subsets are provided to a second computer system different from the first computer system.
9. The method of claim 8, wherein: - the file identifiers in the first one of the plurality of backup subsets are provided to the first computer system in response to a plurality of requests received from the first computer system; and
- the file identifiers in the second one of the plurality of backup subsets are provided to the second computer system in response to a plurality of requests received from the second computer system.
10. A computer program product comprising a computer useable medium having computer readable program code embodied therein for backing up files, the computer program product comprising: - computer readable program code devices configured to cause a computer to receive a backup set comprising a description of a plurality of files to be backed up;
- computer readable program code devices configured to cause a computer to allocate file identifiers of the plurality of files to a plurality of backup subsets;
- computer readable program code devices configured to cause a computer to provide the file identifiers in at least a first one of said plurality of backup subsets so as to cause the files corresponding to the file identifiers in the at least first one of said plurality of backup subsets to be copied onto a first backup media; and
- computer readable program code devices configured to cause a computer to provide the file identifiers in at least a second, different from the first, one of said plurality of backup subsets so as to cause the files corresponding to the file identifiers in the at least second one of said plurality of backup subsets to be copied onto a second backup media different from the first backup media.
11. The computer program product of claim 10, wherein the computer readable program code devices configured to cause a computer to allocate comprise computer readable program code devices configured to cause a computer to assign substantially a same number of file identifiers to each of a plurality of the backup subsets. 12. The computer program product of claim 11, wherein the computer readable program code devices configured to cause a computer to assign comprise computer readable program code devices configured to cause a computer to, for each of a plurality of the backup subsets, select at random a plurality of file identifiers from file identifiers corresponding to the backup set. 13. The computer program product of claim 11, wherein the computer readable program code devices configured to cause a computer to assign comprise computer readable program code devices configured to cause a computer to, for each of a plurality of the backup subsets, select a plurality of file identifiers having a sequential order according to the first backup set. 14. The computer program product of claim 10, wherein the computer readable program code devices configured to cause a computer to allocate comprise computer readable program code devices configured to cause a computer to assign approximately a same number of bytes to each of a plurality of the backup subsets. 15. The computer program product of claim 10, wherein the computer readable program code devices configured to cause a computer to allocate comprise computer readable program code devices configured to cause a computer to identify a backup subsystem from a plurality of backup subsystems capable of most efficiently backing up each of a plurality of files. 16. The computer program product of claim 10, wherein: - the file identifiers in the first one of the plurality of backup subsets are provided to a first computer system; and
- the file identifiers in the second one of the plurality of backup subsets are provided to a second computer system different from the first computer system.
17. The computer program product of claim 16, wherein: - the file identifiers in the first one of the plurality of backup subsets are provided to the first computer system in response to a plurality of requests received from the first computer system; and
- the file identifiers in the second one of the plurality of backup subsets are provided to the second computer system in response to a plurality of requests received from the second computer system.
|