US7702824B2 - Computer system and method for performing low impact backup operations - Google Patents

Computer system and method for performing low impact backup operations Download PDF

Info

Publication number
US7702824B2
US7702824B2 US11/602,074 US60207406A US7702824B2 US 7702824 B2 US7702824 B2 US 7702824B2 US 60207406 A US60207406 A US 60207406A US 7702824 B2 US7702824 B2 US 7702824B2
Authority
US
United States
Prior art keywords
backup
session
data
storage device
backup session
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related, expires
Application number
US11/602,074
Other versions
US20070067587A1 (en
Inventor
Robert P. Rossi
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Symantec Operating Corp
Veritas Technologies LLC
Original Assignee
Symantec Operating Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Symantec Operating Corp filed Critical Symantec Operating Corp
Priority to US11/602,074 priority Critical patent/US7702824B2/en
Publication of US20070067587A1 publication Critical patent/US20070067587A1/en
Assigned to SYMANTEC CORPORATION reassignment SYMANTEC CORPORATION CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: VERITAS OPERATING CORPORATION
Application granted granted Critical
Publication of US7702824B2 publication Critical patent/US7702824B2/en
Assigned to SYMANTEC OPERATING CORPORATION reassignment SYMANTEC OPERATING CORPORATION CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION. Assignors: VERITAS OPERATING CORPORATION
Assigned to VERITAS US IP HOLDINGS LLC reassignment VERITAS US IP HOLDINGS LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: SYMANTEC CORPORATION
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT reassignment WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VERITAS US IP HOLDINGS LLC
Assigned to BANK OF AMERICA, N.A., AS COLLATERAL AGENT reassignment BANK OF AMERICA, N.A., AS COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VERITAS US IP HOLDINGS LLC
Assigned to VERITAS TECHNOLOGIES LLC reassignment VERITAS TECHNOLOGIES LLC MERGER AND CHANGE OF NAME (SEE DOCUMENT FOR DETAILS). Assignors: VERITAS TECHNOLOGIES LLC, VERITAS US IP HOLDINGS LLC
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT reassignment WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT SECURITY INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: VERITAS TECHNOLOGIES LLC
Assigned to VERITAS US IP HOLDINGS, LLC reassignment VERITAS US IP HOLDINGS, LLC TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726 Assignors: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Adjusted expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy

Definitions

  • This invention relates to the field of computer processing and, more particularly, to the performance of data management processes such as backup operations on computer systems.
  • a backup session associated with a backup application may be scheduled to execute once a day, at the same time every day. Resource utilization due to the scheduled backup sessions is illustrated by the solid line. As depicted by the dashed line, resource utilization by one or more user applications may fluctuate gradually over time. Unfortunately, as the figure also illustrates, the backup session may be scheduled at times when demand for the I/O resources by the user applications is also high. This may therefore result in decreased performance from the user's perspective.
  • a method may comprise monitoring utilization of a system resource and a data management process selectively performing I/O operations dependent upon the monitored utilization of the system resource.
  • the data management process may include functionality to backup desired data from a storage medium to a backup medium.
  • the I/O operations may be allowed to be performed in response to the utilization of the system resource falling below a predetermined threshold.
  • a method may comprise performing a plurality of I/O operations to complete a data management process executed by an application.
  • the application separates said plurality of I/O operations with intermittent delays to achieve time-slicing of the data management process with respect to one or more other applications.
  • FIG. 1 is a graph illustrating I/O resource demands due to user application workload and backup session workload.
  • FIG. 2 is a block diagram of one embodiment of a computer system.
  • FIG. 3 is a flowchart illustrating one embodiment of a method for low impact backup.
  • FIG. 4 is a graph illustrating exemplary I/O resource demand due to user application workload and backup session workload as a result of an implementation of the low impact backup method of FIG. 3 .
  • FIG. 5 is a flowchart illustrating another embodiment of a method for low impact backup.
  • FIG. 6 is a graph illustrating exemplary I/O resource demand due to user application workload and backup session workload as a result of an implementation of the low impact backup method of FIG. 5 .
  • FIG. 7 is a graph illustrating exemplary I/O resource demand due to user application workload and data management task workload as a result of another implementation of a low impact backup method.
  • Computer system 200 includes a processor 204 coupled to a main memory 202 .
  • Processor 204 and main memory 202 are in turn connected to an I/O subsystem 210 , which comprises an I/O interface 212 , a hard disk drive 214 , a network interface 216 , and a removable storage 218 .
  • I/O subsystem 210 which comprises an I/O interface 212 , a hard disk drive 214 , a network interface 216 , and a removable storage 218 .
  • computer system 200 may be representative of a laptop, desktop, server, workstation, terminal, personal digital assistant (PDA) or any other type of computer system.
  • PDA personal digital assistant
  • Processor 204 is representative of any of various types of processors such as an x86 processor, a PowerPC processor or a SPARC processor.
  • main memory 202 is representative of any of various types of memory, including DRAM, SRAM, EDO RAM, Rambus RAM, etc.
  • I/O interface 212 is operational to transfer data between processor 204 and/or main memory 202 and one or more internal or external components such as hard disk drive 214 , network interface 216 and removable storage 218 , as desired.
  • I/O interface 212 may embody a PCI bridge operable to transfer data from processor 204 and/or main memory 202 to one or more PCI devices.
  • I/O interface 212 may additionally or alternatively provide an interface to devices of other types, such as SCSI devices and/or Fibre channel devices.
  • Hard disk drive 214 may be a non-volatile memory such as a magnetic media.
  • Network interface 216 may be any type of network adapter, such as Ethernet, fiber optic, or coaxial adapters.
  • Removable storage 218 is representative of a disk drive, optical media drive, tape drive, or other type of storage media, as desired.
  • FIG. 2 illustrates an operating system 250 and one or more user applications 260 stored in main memory 202 .
  • Operating system 250 is representative of any of a variety of specific operating systems, such as, for example, Microsoft Windows, Linux, or Sun Solaris. As such, operating system 250 may be operable to provide various services to the end user and provide a software framework operable to support the one or more user applications 260 .
  • the one or more user applications 260 are representative of any software programs which may be executable on computer system 200 .
  • a backup application 270 is also shown stored in main memory 202 .
  • Backup application 270 may be operable to create a backup copy of selected data from storage such as hard disk drive 214 to a backup medium such as removable storage 218 .
  • selected data may be transferred from hard disk drive 214 to network interface 216 for transmission to and backup in a remote system.
  • backup application 270 may be configured to implement various low impact backup methods.
  • backup application 270 may be operable to control the execution of a backup session dependent on the utilization of I/O bandwidth or another monitored system resource(s).
  • backup application 270 may be operable to time slice a backup session into separate execution periods to minimize the impact on one or more user applications 260 which may be running concurrently.
  • FIG. 3 is a flowchart illustrating one embodiment of a low impact backup method.
  • a user may set a series of parameters that control various aspects of the method, as described below.
  • backup application 270 monitors the utilization of I/O subsystem 210 (directly or indirectly) which may be a result of execution of the one or more user applications 260 (or due to other consumers of I/O subsystem 210 ). More particularly, in one embodiment backup application 270 may determine the amount of bandwidth being consumed in relation to the interfaces between I/O interface 212 and hard disk drive 214 , network interface 216 and/or removable storage 218 .
  • I/O subsystem 210 may be additionally or alternatively monitored, such as the number, type, and/or size of I/O requests being provided to I/O interface 212 during a selected period of time.
  • backup application 270 may access a utility provided by operating system 250 that functions to provide an indicator of utilization of a monitored resource, such as I/O subsystem 210 .
  • backup application 270 may be operable to directly query hardware in computer system 200 , or to query drivers associated with such hardware.
  • backup application 270 may be operable to interact with a hardware monitor that monitors usage of a system resource.
  • backup application 270 determines whether the I/O utilization as determined in step 302 satisfies a trigger threshold.
  • the trigger threshold may be specified by one or more of the parameters set in step 300 .
  • the trigger threshold may be set by a user such that it is satisfied when the utilization of the total possible bandwidth between hard disk drive 214 and removable storage 218 falls below a certain percentage.
  • backup application 270 executes a backup session in step 306 .
  • the backup session may include backing up of the entire contents or selected contents of hard disk drive 214 (or other storage device), as desired. It is noted that by executing a backup session when the I/O utilization (e.g. bandwidth utilization of hard disk drive 214 and/or removable media 218 ) is relatively low, the performance impact on user applications 260 , which may be running concurrently, may be negligible.
  • backup application 270 may determine in step 308 the amount of time which has elapsed since the last backup session was performed. If the time since the last backup session is less than a predetermined interval, backup application 270 may return to step 302 . It is noted that in this embodiment the trigger threshold will not be satisfied when utilization of the I/O subsystem 210 is relatively high, which may be the result of operations invoked by user applications 260 . Since backup operations in step 306 are not performed in this situation, further loading of system resources such as I/O subsystem 210 may be avoided, and application performance from a user's perspective may be improved.
  • backup application 270 may instead advance to step 306 , in which a backup session is executed. In this manner, the time between successive backup sessions may be guaranteed to not exceed the predetermined interval, regardless of whether I/O conditions are favorable or not. Such functionality may be desirable to ensure that data is backed up with at least some frequency.
  • the predetermined interval may be specified by one or more of the parameters set in step 300 . It is also noted that in alternate embodiments, the operations of step 308 may be omitted in such a way that a backup session may be invoked only if the trigger threshold in step 304 is satisfied (i.e., if resource utilization is relatively low).
  • a set amount of time may be required to elapse (following initiation or completion of a given backup session) before another backup session can be initiated in step 306 . This may thus prevent consecutive backup sessions from being triggered too frequently.
  • the I/O utilization (or other system resource utilization) as determined in step 302 may be required to satisfy a given threshold for at least a given period of time before a backup session will be invoked in step 306 . Inclusion of such functionality may thus avoid initiating a backup session in response to short sporadic breaks in system demand.
  • backup application 270 may monitor other system resources, such as the usage of processor 204 , to determine if a trigger threshold has been satisfied.
  • any various combinations of monitored resources may be used to determine if a trigger threshold has been satisfied.
  • various aspects associated with the utilization of I/O subsystem 210 may be monitored and weighted differently (or prioritized) in step 304 to determine whether a trigger threshold has been satisfied. For example, write activity to hard disk drive 214 may be much more important than read activity in limiting a backup session. Thus, the bandwidth consumed by write activity may be given a higher weighting when calculating if the trigger threshold has been satisfied.
  • the parameters set in step 300 may further control, for example, which system resource or combination of resources may be monitored in step 302 , how those resources will be weighted in relation to each other, and how long system resources must remain below threshold levels for the trigger threshold to be satisfied.
  • FIG. 4 is a graph illustrating an exemplary result which may be attained through implementation of the low impact backup method of FIG. 3 . Comparing FIG. 4 to FIG. 1 , the same demand for I/O bandwidth by user applications 260 (as shown by the dashed line) may be presented to the system. However, in FIG. 4 the low impact backup method of FIG. 3 triggers backup sessions such that they are performed when user demand is relatively low, thereby minimizing the interference between backup operations and user application workload.
  • FIG. 3 While in the embodiments described above the functionality of FIG. 3 is implemented by a backup application, other embodiments are possible.
  • the low impact backup method of FIG. 3 may be carried out by functionality within operating system 250 as part of a backup utility.
  • FIG. 5 is a flowchart illustrating an alternative embodiment of a low impact backup method.
  • FIG. 5 illustrates a method in which a backup session is carried out by time slicing, i.e. using backup application 270 to control the execution of a backup session such that data is backed up intermittently over a period of time.
  • time slicing i.e. using backup application 270 to control the execution of a backup session such that data is backed up intermittently over a period of time.
  • a user may set a series of parameters that control various aspects of the method, as will be described below.
  • backup application 270 executes a first backup session slice.
  • a backup session slice is a portion of a backup session which is separated from other backup session slices by an intermittent time delay.
  • a backup session slice may be specified by the amount of data transferred between time delays. For example, 512 kilobytes of data may be transferred to a backup medium every 500 milliseconds.
  • a backup session slice may be specified by a length in time during which I/O operations for backup are performed. For example, a computer may perform backup activity for 500 milliseconds, and then wait another 1500 milliseconds to perform another backup session slice.
  • backup application 270 determines if the backup session is complete, i.e. if the last slice of the backup session has been backed up to a backup medium such as removable storage 218 . If the backup session is complete, the method ends. Alternatively, if the backup session is incomplete, backup application 27 advances to step 506 , wherein backup application 270 delays execution of I/O operations associated with the next backup session slice for an intermittent delay value. In one embodiment, the intermittent delay value may be set by the user in step 500 . Backup application 270 may then return to step 502 .
  • FIG. 6 is a graph illustrating an exemplary result which may be attained through implementation of the low impact backup method of FIG. 5 .
  • the same demand for I/O bandwidth by user applications 260 (as shown by the dashed line) may be presented to the system.
  • the low impact backup method of FIG. 5 time slices I/O operations associated with each backup session such that they are staggered over a period of time. It is noted that by time slicing a backup session, the impact of the backup operations on user applications 260 which may be running concurrently may be reduced.
  • the intermittent delay provided in step 506 between backup session slices may be varied depending upon a utilization of a monitored system resource such as I/O subsystem 210 , as described in step 302 of FIG. 3 .
  • backup session slices may be clustered closer together when demand for system resources is low, and spread further apart as demand for system resources is high.
  • each backup session is triggered according to demand for system resources, such as I/O subsystem 210 .
  • system resources such as I/O subsystem 210 .
  • the backup session would then be time-sliced, in effect executing steps 502 , 504 and 506 of FIG. 5 during step 306 of FIG. 3 .
  • This embodiment may thereby further minimize interference between the backup session and user applications 260 . It is noted that such an embodiment may result in triggering a backup session when the demand for system resources is low, and in further distributing the impact of a backup session across a period of time.
  • the delay provided between execution of backup session slices may be varied according to a utilization of a monitored system resource such as I/O subsystem 210 .
  • FIG. 7 is a graph illustrating an exemplary result which may be attained through implementing such an embodiment. Accordingly, backup session slices may be both triggered and clustered together when demand for system resources is low, and spread apart when demand is high, thereby providing an optimal utilization of otherwise unused resources and minimizing interference with user applications.
  • historical information may be used to control the performance of the backup sessions and/or backup backup session slices.
  • the historical information may include, for example, information indicative of a prior history of resource utilization within the computer system and/or a prior history of the performance of backup sessions and/or backup session slices.
  • the trigger threshold level how long system resources must remain below threshold levels for a trigger to be satisfied, which system resources are used determine whether a trigger threshold has been satisfied, and/or the clustering of backup session slices
  • future backup sessions may be controlled based upon the historical information.
  • the low impact backup method may be configured to determine from the historical information that backup sessions and/or backup session slices have not been invoked as often as desired, or that a trigger threshold has not been satisfied as frequently as desired. Accordingly, in response to such a determination, the low impact backup method may automatically lower the trigger threshold.
  • the low impact backup method may be configured to determine from the historical information that utilization of a monitored system resource is typically relatively low at a particular time of a day (or of multiple days). In response to such a determination, the low impact backup method may automatically invoke a backup session at the particular time on a subsequent day.
  • I/O operations to perform other types of data management tasks may be performed.
  • I/O operations associated with data management tasks such as virus scanning or search indexing may be triggered according to monitored system resources or time sliced to minimize the impact of such data management tasks on user applications 260 .
  • any of the embodiments described above may further include receiving, sending or storing instructions and/or data that implement the operations described above in conjunction with FIGS. 3-7 upon a computer readable medium.
  • a computer readable medium may include storage media or memory media such as magnetic or optical media, e.g. disk or CD-ROM, volatile or non-volatile media such as RAM (e.g. SDRAM, DDR SDRAM, RDRAM, SRAM, etc.), ROM, etc. as well as transmission media or signals such as electrical, electromagnetic, or digital signals conveyed via a communication medium such as network and/or a wireless link.

Abstract

A system and method for low impact backup. In one embodiment, a method may comprise monitoring utilization of a system resource and a data management process selectively performing I/O operations dependent upon the monitored utilization of the system resource. The data management process may include functionality to backup desired data from a storage medium to a backup medium. In one particular implementation, the I/O operations may be allowed to be performed in response to the utilization of the system resource falling below a predetermined threshold. In another embodiment a method may comprise performing a plurality of I/O operations to complete a data management process executed by an application. The application separates said plurality of I/O operations with intermittent delays to achieve time-slicing of the data management process with respect to one or more other applications.

Description

This application is a divisional of U.S. patent application Ser. No. 10/675,093, entitled “COMPUTER SYSTEM AND METHOD FOR PERFORMING LOW IMPACT BACKUP OPERATIONS”, filed Sep. 30, 2003 now U.S Pat. No. 7,139,846.
BACKGROUND OF THE INVENTION
1. Field of the Invention
This invention relates to the field of computer processing and, more particularly, to the performance of data management processes such as backup operations on computer systems.
2. Description of the Related Art
As computers become more integral to modern business and industry, maintaining constant availability and maximizing responsiveness assumes a greater importance. A trend is developing whereby computer systems that have traditionally been used primarily during only a portion of each day, such as business hours, may now be in high demand throughout the day and night, everyday (so-called 24×7). Furthermore, it may be difficult to predict in advance when system demand may be high or low.
Various data management tasks, such as data backup, virus detection, and search indexing, have traditionally been scheduled late at night or on weekends to minimize interference with user applications. However, due to the increased demand for computer system resources during previously “off-peak” hours, it has become more difficult to reliably schedule these data management tasks when demand is low.
Furthermore, since many data management tasks are designed to complete their desired operations very quickly, they may consume large amounts of system resources during the time they are running. The performance of other applications may thus be negatively impacted if they are concurrently run with the data management tasks. For example, many data backup applications are designed to minimize the length of time a backup operation requires by transferring data to a backup medium at very high transfer rates. However, the I/O bandwidth consumed by such operations may noticeably interfere with other applications that also require I/O access at the same time.
As illustrated in FIG. 1, for example, a backup session associated with a backup application may be scheduled to execute once a day, at the same time every day. Resource utilization due to the scheduled backup sessions is illustrated by the solid line. As depicted by the dashed line, resource utilization by one or more user applications may fluctuate gradually over time. Unfortunately, as the figure also illustrates, the backup session may be scheduled at times when demand for the I/O resources by the user applications is also high. This may therefore result in decreased performance from the user's perspective.
SUMMARY OF THE INVENTION
Various embodiments of a system and method for low impact backup are disclosed. In one embodiment, a method may comprise monitoring utilization of a system resource and a data management process selectively performing I/O operations dependent upon the monitored utilization of the system resource. The data management process may include functionality to backup desired data from a storage medium to a backup medium. In one particular implementation, the I/O operations may be allowed to be performed in response to the utilization of the system resource falling below a predetermined threshold.
In another embodiment a method may comprise performing a plurality of I/O operations to complete a data management process executed by an application. The application separates said plurality of I/O operations with intermittent delays to achieve time-slicing of the data management process with respect to one or more other applications.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a graph illustrating I/O resource demands due to user application workload and backup session workload.
FIG. 2 is a block diagram of one embodiment of a computer system.
FIG. 3 is a flowchart illustrating one embodiment of a method for low impact backup.
FIG. 4 is a graph illustrating exemplary I/O resource demand due to user application workload and backup session workload as a result of an implementation of the low impact backup method of FIG. 3.
FIG. 5 is a flowchart illustrating another embodiment of a method for low impact backup.
FIG. 6 is a graph illustrating exemplary I/O resource demand due to user application workload and backup session workload as a result of an implementation of the low impact backup method of FIG. 5.
FIG. 7 is a graph illustrating exemplary I/O resource demand due to user application workload and data management task workload as a result of another implementation of a low impact backup method.
While the invention is susceptible to various modifications and alternative forms, specific embodiments are shown by way of example in the drawings and are herein described in detail. It should be understood, however, that drawings and detailed description thereto are not intended to limit the invention to the particular form disclosed, but on the contrary, the invention is to cover all modifications, equivalents and alternatives falling within the spirit and scope of the present invention as defined by the appended claims.
DETAILED DESCRIPTION
Turning now to FIG. 2, a block diagram of one embodiment of a computer system 200 is shown. Computer system 200 includes a processor 204 coupled to a main memory 202. Processor 204 and main memory 202 are in turn connected to an I/O subsystem 210, which comprises an I/O interface 212, a hard disk drive 214, a network interface 216, and a removable storage 218. It is noted that computer system 200 may be representative of a laptop, desktop, server, workstation, terminal, personal digital assistant (PDA) or any other type of computer system.
Processor 204 is representative of any of various types of processors such as an x86 processor, a PowerPC processor or a SPARC processor. Similarly, main memory 202 is representative of any of various types of memory, including DRAM, SRAM, EDO RAM, Rambus RAM, etc.
I/O interface 212 is operational to transfer data between processor 204 and/or main memory 202 and one or more internal or external components such as hard disk drive 214, network interface 216 and removable storage 218, as desired. For example, I/O interface 212 may embody a PCI bridge operable to transfer data from processor 204 and/or main memory 202 to one or more PCI devices. I/O interface 212 may additionally or alternatively provide an interface to devices of other types, such as SCSI devices and/or Fibre channel devices.
Hard disk drive 214 may be a non-volatile memory such as a magnetic media. Network interface 216 may be any type of network adapter, such as Ethernet, fiber optic, or coaxial adapters. Removable storage 218 is representative of a disk drive, optical media drive, tape drive, or other type of storage media, as desired.
In addition to the various depicted hardware components, computer system 200 may additionally include various software components. For example, FIG. 2 illustrates an operating system 250 and one or more user applications 260 stored in main memory 202. Operating system 250 is representative of any of a variety of specific operating systems, such as, for example, Microsoft Windows, Linux, or Sun Solaris. As such, operating system 250 may be operable to provide various services to the end user and provide a software framework operable to support the one or more user applications 260. The one or more user applications 260 are representative of any software programs which may be executable on computer system 200.
A backup application 270 is also shown stored in main memory 202. Backup application 270 may be operable to create a backup copy of selected data from storage such as hard disk drive 214 to a backup medium such as removable storage 218. Alternatively, selected data may be transferred from hard disk drive 214 to network interface 216 for transmission to and backup in a remote system.
As will be described in further detail below, backup application 270 may be configured to implement various low impact backup methods. In one embodiment, backup application 270 may be operable to control the execution of a backup session dependent on the utilization of I/O bandwidth or another monitored system resource(s). In another embodiment, backup application 270 may be operable to time slice a backup session into separate execution periods to minimize the impact on one or more user applications 260 which may be running concurrently.
FIG. 3 is a flowchart illustrating one embodiment of a low impact backup method. Referring collectively to FIGS. 2 and 3, in 300, a user may set a series of parameters that control various aspects of the method, as described below. In 302, backup application 270 monitors the utilization of I/O subsystem 210 (directly or indirectly) which may be a result of execution of the one or more user applications 260 (or due to other consumers of I/O subsystem 210). More particularly, in one embodiment backup application 270 may determine the amount of bandwidth being consumed in relation to the interfaces between I/O interface 212 and hard disk drive 214, network interface 216 and/or removable storage 218. It is noted that in other embodiments, other aspects associated with the utilization of I/O subsystem 210 may be additionally or alternatively monitored, such as the number, type, and/or size of I/O requests being provided to I/O interface 212 during a selected period of time.
The specific manner in which resource utilization is monitored in step 302 may vary depending upon the particular embodiment and the specific resource being monitored. For example, in one embodiment backup application 270 may access a utility provided by operating system 250 that functions to provide an indicator of utilization of a monitored resource, such as I/O subsystem 210. Alternatively, backup application 270 may be operable to directly query hardware in computer system 200, or to query drivers associated with such hardware. In yet another embodiment, backup application 270 may be operable to interact with a hardware monitor that monitors usage of a system resource.
In 304, backup application 270 determines whether the I/O utilization as determined in step 302 satisfies a trigger threshold. In one particular implementation, the trigger threshold may be specified by one or more of the parameters set in step 300. For example, the trigger threshold may be set by a user such that it is satisfied when the utilization of the total possible bandwidth between hard disk drive 214 and removable storage 218 falls below a certain percentage.
If in step 304 it is determined that the trigger threshold has been satisfied, backup application 270 executes a backup session in step 306. The backup session may include backing up of the entire contents or selected contents of hard disk drive 214 (or other storage device), as desired. It is noted that by executing a backup session when the I/O utilization (e.g. bandwidth utilization of hard disk drive 214 and/or removable media 218) is relatively low, the performance impact on user applications 260, which may be running concurrently, may be negligible.
If in step 304 it is instead determined that the trigger threshold has not been satisfied, backup application 270 may determine in step 308 the amount of time which has elapsed since the last backup session was performed. If the time since the last backup session is less than a predetermined interval, backup application 270 may return to step 302. It is noted that in this embodiment the trigger threshold will not be satisfied when utilization of the I/O subsystem 210 is relatively high, which may be the result of operations invoked by user applications 260. Since backup operations in step 306 are not performed in this situation, further loading of system resources such as I/O subsystem 210 may be avoided, and application performance from a user's perspective may be improved.
If the time since the last backup session in step 308 is greater than the predetermined interval, backup application 270 may instead advance to step 306, in which a backup session is executed. In this manner, the time between successive backup sessions may be guaranteed to not exceed the predetermined interval, regardless of whether I/O conditions are favorable or not. Such functionality may be desirable to ensure that data is backed up with at least some frequency. It is noted that in one particular implementation, the predetermined interval may be specified by one or more of the parameters set in step 300. It is also noted that in alternate embodiments, the operations of step 308 may be omitted in such a way that a backup session may be invoked only if the trigger threshold in step 304 is satisfied (i.e., if resource utilization is relatively low).
In a further implementation of the low impact backup method illustrated by FIG. 3, a set amount of time may be required to elapse (following initiation or completion of a given backup session) before another backup session can be initiated in step 306. This may thus prevent consecutive backup sessions from being triggered too frequently.
In addition, in a further implementation of the low impact backup method illustrated by FIG. 3, the I/O utilization (or other system resource utilization) as determined in step 302 may be required to satisfy a given threshold for at least a given period of time before a backup session will be invoked in step 306. Inclusion of such functionality may thus avoid initiating a backup session in response to short sporadic breaks in system demand.
It is noted that, in various alternative embodiments, backup application 270 may monitor other system resources, such as the usage of processor 204, to determine if a trigger threshold has been satisfied. In addition, any various combinations of monitored resources may be used to determine if a trigger threshold has been satisfied.
Still further, in yet an additional alternate embodiment, various aspects associated with the utilization of I/O subsystem 210 (or other system resources) may be monitored and weighted differently (or prioritized) in step 304 to determine whether a trigger threshold has been satisfied. For example, write activity to hard disk drive 214 may be much more important than read activity in limiting a backup session. Thus, the bandwidth consumed by write activity may be given a higher weighting when calculating if the trigger threshold has been satisfied.
It is also noted that, in various embodiments, the parameters set in step 300 may further control, for example, which system resource or combination of resources may be monitored in step 302, how those resources will be weighted in relation to each other, and how long system resources must remain below threshold levels for the trigger threshold to be satisfied.
FIG. 4 is a graph illustrating an exemplary result which may be attained through implementation of the low impact backup method of FIG. 3. Comparing FIG. 4 to FIG. 1, the same demand for I/O bandwidth by user applications 260 (as shown by the dashed line) may be presented to the system. However, in FIG. 4 the low impact backup method of FIG. 3 triggers backup sessions such that they are performed when user demand is relatively low, thereby minimizing the interference between backup operations and user application workload.
While in the embodiments described above the functionality of FIG. 3 is implemented by a backup application, other embodiments are possible. For example, in one alternative embodiment, the low impact backup method of FIG. 3 may be carried out by functionality within operating system 250 as part of a backup utility.
FIG. 5 is a flowchart illustrating an alternative embodiment of a low impact backup method. As will be described below, FIG. 5 illustrates a method in which a backup session is carried out by time slicing, i.e. using backup application 270 to control the execution of a backup session such that data is backed up intermittently over a period of time. By intermittently backing up data associated with a backup session, interference with user applications which may be running concurrently may be less noticeable to a user.
As illustrated in FIG. 5, in step 500, a user may set a series of parameters that control various aspects of the method, as will be described below. In 502, backup application 270 executes a first backup session slice. A backup session slice is a portion of a backup session which is separated from other backup session slices by an intermittent time delay. In one embodiment, a backup session slice may be specified by the amount of data transferred between time delays. For example, 512 kilobytes of data may be transferred to a backup medium every 500 milliseconds. In another embodiment, a backup session slice may be specified by a length in time during which I/O operations for backup are performed. For example, a computer may perform backup activity for 500 milliseconds, and then wait another 1500 milliseconds to perform another backup session slice. These parameters may be set in step 500, as described above.
In 504 backup application 270 determines if the backup session is complete, i.e. if the last slice of the backup session has been backed up to a backup medium such as removable storage 218. If the backup session is complete, the method ends. Alternatively, if the backup session is incomplete, backup application 27 advances to step 506, wherein backup application 270 delays execution of I/O operations associated with the next backup session slice for an intermittent delay value. In one embodiment, the intermittent delay value may be set by the user in step 500. Backup application 270 may then return to step 502.
FIG. 6 is a graph illustrating an exemplary result which may be attained through implementation of the low impact backup method of FIG. 5. Comparing FIG. 6 to FIG. 1, the same demand for I/O bandwidth by user applications 260 (as shown by the dashed line) may be presented to the system. However, in FIG. 6 the low impact backup method of FIG. 5 time slices I/O operations associated with each backup session such that they are staggered over a period of time. It is noted that by time slicing a backup session, the impact of the backup operations on user applications 260 which may be running concurrently may be reduced.
In another embodiment of the embodiment described in FIG. 5, the intermittent delay provided in step 506 between backup session slices may be varied depending upon a utilization of a monitored system resource such as I/O subsystem 210, as described in step 302 of FIG. 3. In such an embodiment, backup session slices may be clustered closer together when demand for system resources is low, and spread further apart as demand for system resources is high.
It is noted that various alternate embodiments may combine the operations of FIGS. 3 and 5 in a variety of ways. For example, the resource demand monitoring methodology of FIG. 3 might be combined with the time-slicing methodology of FIG. 5. In one such embodiment, each backup session is triggered according to demand for system resources, such as I/O subsystem 210. Once triggered, the backup session would then be time-sliced, in effect executing steps 502, 504 and 506 of FIG. 5 during step 306 of FIG. 3. This embodiment may thereby further minimize interference between the backup session and user applications 260. It is noted that such an embodiment may result in triggering a backup session when the demand for system resources is low, and in further distributing the impact of a backup session across a period of time.
In a further implementation of the embodiment described above, the delay provided between execution of backup session slices may be varied according to a utilization of a monitored system resource such as I/O subsystem 210. FIG. 7 is a graph illustrating an exemplary result which may be attained through implementing such an embodiment. Accordingly, backup session slices may be both triggered and clustered together when demand for system resources is low, and spread apart when demand is high, thereby providing an optimal utilization of otherwise unused resources and minimizing interference with user applications.
It is further contemplated that, in various alternative embodiments of the low impact backup methods described above, historical information may be used to control the performance of the backup sessions and/or backup backup session slices. The historical information may include, for example, information indicative of a prior history of resource utilization within the computer system and/or a prior history of the performance of backup sessions and/or backup session slices. Based upon the historical information, one or more of the parameters as discussed in the above embodiments (e.g., the trigger threshold level, how long system resources must remain below threshold levels for a trigger to be satisfied, which system resources are used determine whether a trigger threshold has been satisfied, and/or the clustering of backup session slices) may be automatically tuned. In alternative embodiments, future backup sessions may be controlled based upon the historical information.
For example, in one embodiment, the low impact backup method may be configured to determine from the historical information that backup sessions and/or backup session slices have not been invoked as often as desired, or that a trigger threshold has not been satisfied as frequently as desired. Accordingly, in response to such a determination, the low impact backup method may automatically lower the trigger threshold. In another embodiment, the low impact backup method may be configured to determine from the historical information that utilization of a monitored system resource is typically relatively low at a particular time of a day (or of multiple days). In response to such a determination, the low impact backup method may automatically invoke a backup session at the particular time on a subsequent day.
It is noted that in other embodiments, rather than performing I/O operations associated with a backup application in steps 306 and/or 502, I/O operations to perform other types of data management tasks may be performed. For example, I/O operations associated with data management tasks such as virus scanning or search indexing may be triggered according to monitored system resources or time sliced to minimize the impact of such data management tasks on user applications 260.
It is noted that any of the embodiments described above may further include receiving, sending or storing instructions and/or data that implement the operations described above in conjunction with FIGS. 3-7 upon a computer readable medium. Generally speaking, a computer readable medium may include storage media or memory media such as magnetic or optical media, e.g. disk or CD-ROM, volatile or non-volatile media such as RAM (e.g. SDRAM, DDR SDRAM, RDRAM, SRAM, etc.), ROM, etc. as well as transmission media or signals such as electrical, electromagnetic, or digital signals conveyed via a communication medium such as network and/or a wireless link.
Although the embodiments above have been described in considerable detail, numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.

Claims (11)

1. A computer system comprising:
one or more processors;
a storage device;
a backup storage; and
a computer readable storage medium storing program instructions executable by the one or more processors to control performance of a backup session during which data stored on the storage device is transferred from the storage device to the backup storage to create a backup copy of the data, wherein the program instructions are executable to create the backup copy by causing the data to be transferred from the storage device to the backup storage during a plurality of sequentially performed backup session slices, wherein a respective portion of the data is transferred from the storage device to the backup storage during each backup session slice, and wherein the program instructions are executable to cause a predetermined time delay to be provided between the performance of consecutive backup session slices that depends upon a control parameter, wherein the backup copy is created upon completion of the performance of the consecutive backup session slices.
2. The computer system as recited in claim 1 wherein the control parameter is a user-controllable setting.
3. The computer system as recited in claim 1 wherein the program instructions are executable to cause a specified amount of the data to be transferred from the storage device to the backup storage during each backup session slice.
4. The computer system as recited in claim 1 wherein the program instructions are executable to cause each backup session slice to be performed for a specified duration in time.
5. A computer readable storage medium storing program instructions executable to control performance of a backup session during which data stored on a storage device is transferred from the storage device to a backup storage to create a backup copy of the data, wherein the program instructions are executable to create the backup copy by causing the data to be transferred from the storage device to a backup storage during a plurality of sequentially performed backup session slices, wherein a respective portion of the data is transferred from the storage device to the backup storage during each backup session slice, and wherein the program instructions are executable to cause a predetermined time delay to be provided between the performance of consecutive backup session slices that depends upon a control parameter, wherein the backup copy is created upon completion of the performance of the consecutive backup session slices.
6. The computer readable storage medium as recited in claim 5 wherein the control parameter is a user-controllable setting.
7. The computer readable storage medium as recited in claim 5 wherein the program instructions are executable to cause a specified amount of the data to be transferred from the storage device to the backup storage during each backup session slice.
8. The computer readable storage medium as recited in claim 5 wherein the program instructions are executable to cause each backup session slice to be performed for a specified duration in time.
9. A method for creating a backup copy of data stored on a storage device comprising:
causing the data to be transferred from the storage device to a backup storage during a backup session that includes a plurality of sequentially performed backup session slices, wherein a respective portion of the data is transferred from the storage device to the backup storage during each backup session slice; and
causing a predetermined time delay to be provided between the performance of consecutive backup session slices that depends upon a control parameter, wherein the backup copy is created upon completion of the performance of the consecutive backup session slices.
10. The method as recited in claim 9 further comprising causing a specified amount of the data to be transferred from the storage device to the backup storage during each backup session slice.
11. The method as recited in claim 9 further comprising causing each backup session slice to be performed for a specified duration in time.
US11/602,074 2003-09-30 2006-11-20 Computer system and method for performing low impact backup operations Expired - Fee Related US7702824B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US11/602,074 US7702824B2 (en) 2003-09-30 2006-11-20 Computer system and method for performing low impact backup operations

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/675,093 US7139846B1 (en) 2003-09-30 2003-09-30 Computer system and method for performing low impact backup operations
US11/602,074 US7702824B2 (en) 2003-09-30 2006-11-20 Computer system and method for performing low impact backup operations

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/675,093 Division US7139846B1 (en) 2003-09-30 2003-09-30 Computer system and method for performing low impact backup operations

Publications (2)

Publication Number Publication Date
US20070067587A1 US20070067587A1 (en) 2007-03-22
US7702824B2 true US7702824B2 (en) 2010-04-20

Family

ID=37423346

Family Applications (2)

Application Number Title Priority Date Filing Date
US10/675,093 Active 2024-07-03 US7139846B1 (en) 2003-09-30 2003-09-30 Computer system and method for performing low impact backup operations
US11/602,074 Expired - Fee Related US7702824B2 (en) 2003-09-30 2006-11-20 Computer system and method for performing low impact backup operations

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US10/675,093 Active 2024-07-03 US7139846B1 (en) 2003-09-30 2003-09-30 Computer system and method for performing low impact backup operations

Country Status (1)

Country Link
US (2) US7139846B1 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249006A1 (en) * 2008-03-31 2009-10-01 Boldt Michael W System and Method for Setting an Activation State for a Device Used in a Backup Operation
US20110158066A1 (en) * 2009-12-28 2011-06-30 Chia-Che Hu Backup device and one-key data backup method for the same
US8271443B1 (en) 2009-06-29 2012-09-18 Symantec Operating Corporation Backup system including a privately accessible primary backup server and a publicly accessible alternate backup server

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7434219B2 (en) 2000-01-31 2008-10-07 Commvault Systems, Inc. Storage of application specific profiles correlating to document versions
JP2005505039A (en) 2001-09-28 2005-02-17 コムヴォールト・システムズ・インコーポレーテッド Apparatus and method for archiving objects in an information storage device
GB0424488D0 (en) * 2004-11-05 2004-12-08 Ibm A method apparatus computer program and computer program product for adjusting the frequency at which data is backed up
US9122643B2 (en) * 2005-12-08 2015-09-01 Nvidia Corporation Event trigger based data backup services
US8402322B2 (en) * 2005-12-08 2013-03-19 Nvidia Corporation Emergency data preservation services
US8285850B1 (en) * 2006-01-19 2012-10-09 Symantec Operating Corporation Configuration and dynamic detection of connection-based backup policies
US7734669B2 (en) 2006-12-22 2010-06-08 Commvault Systems, Inc. Managing copies of data
US8301772B2 (en) * 2007-03-27 2012-10-30 Symantec Corporation Method and apparatus for allocating resources among backup tasks in a data backup system
US8484464B2 (en) 2007-06-15 2013-07-09 Research In Motion Limited Method and devices for providing secure data backup from a mobile communication device to an external computing device
US20090228580A1 (en) * 2008-03-05 2009-09-10 International Business Machines Corporation Computing environment sensitive data synchronization
US8769048B2 (en) 2008-06-18 2014-07-01 Commvault Systems, Inc. Data protection scheduling, such as providing a flexible backup window in a data protection system
US8352954B2 (en) 2008-06-19 2013-01-08 Commvault Systems, Inc. Data storage resource allocation by employing dynamic methods and blacklisting resource request pools
US9128883B2 (en) 2008-06-19 2015-09-08 Commvault Systems, Inc Data storage resource allocation by performing abbreviated resource checks based on relative chances of failure of the data storage resources to determine whether data storage requests would fail
US8725688B2 (en) 2008-09-05 2014-05-13 Commvault Systems, Inc. Image level copy or restore, such as image level restore without knowledge of data object metadata
US20100070474A1 (en) 2008-09-12 2010-03-18 Lad Kamleshkumar K Transferring or migrating portions of data objects, such as block-level data migration or chunk-based data migration
US8849762B2 (en) 2011-03-31 2014-09-30 Commvault Systems, Inc. Restoring computing environments, such as autorecovery of file systems at certain points in time
US10157184B2 (en) 2012-03-30 2018-12-18 Commvault Systems, Inc. Data previewing before recalling large data files
US8977672B2 (en) * 2012-06-08 2015-03-10 Commvault Systems, Inc. Intelligent scheduling for remote computers
US20140092757A1 (en) 2012-10-01 2014-04-03 Futurewei Technologies, Co. Controlling Data Synchronization and Backup Services
KR102033999B1 (en) * 2012-12-21 2019-10-21 삼성전자주식회사 Method and apparatus for communication in content centric network
US9633216B2 (en) 2012-12-27 2017-04-25 Commvault Systems, Inc. Application of information management policies based on operation with a geographic entity
KR101540631B1 (en) * 2012-12-28 2015-07-30 삼성에스디에스 주식회사 System, method and recording medium recording the program thereof for dynamic expansion of the virtual cluster
US9396160B1 (en) 2013-02-28 2016-07-19 Amazon Technologies, Inc. Automated test generation service
US9185188B1 (en) * 2013-02-28 2015-11-10 Emc Corporation Method and system for determining optimal time period for data movement from source storage to target storage
US9444717B1 (en) 2013-02-28 2016-09-13 Amazon Technologies, Inc. Test generation service
US9436725B1 (en) 2013-02-28 2016-09-06 Amazon Technologies, Inc. Live data center test framework
US9459968B2 (en) 2013-03-11 2016-10-04 Commvault Systems, Inc. Single index to query multiple backup formats
US9569205B1 (en) * 2013-06-10 2017-02-14 Symantec Corporation Systems and methods for remotely configuring applications
WO2015065383A1 (en) * 2013-10-30 2015-05-07 Intel Corporation Processing of messages using theme and modality criteria
US9864760B1 (en) * 2013-12-05 2018-01-09 EMC IP Holding Company LLC Method and system for concurrently backing up data streams based on backup time estimates
US9798596B2 (en) 2014-02-27 2017-10-24 Commvault Systems, Inc. Automatic alert escalation for an information management system
US9648100B2 (en) 2014-03-05 2017-05-09 Commvault Systems, Inc. Cross-system storage management for transferring data across autonomous information management systems
US9823978B2 (en) 2014-04-16 2017-11-21 Commvault Systems, Inc. User-level quota management of data objects stored in information management systems
US9740574B2 (en) 2014-05-09 2017-08-22 Commvault Systems, Inc. Load balancing across multiple data paths
US9852026B2 (en) 2014-08-06 2017-12-26 Commvault Systems, Inc. Efficient application recovery in an information management system based on a pseudo-storage-device driver
US11249858B2 (en) 2014-08-06 2022-02-15 Commvault Systems, Inc. Point-in-time backups of a production application made accessible over fibre channel and/or ISCSI as data sources to a remote application by representing the backups as pseudo-disks operating apart from the production application and its host
EP3180696B1 (en) * 2014-08-14 2018-12-19 Veeam Software Ag System, method, and computer program product for low impact backup
US9444811B2 (en) 2014-10-21 2016-09-13 Commvault Systems, Inc. Using an enhanced data agent to restore backed up data across autonomous storage management systems
US9953053B2 (en) * 2014-12-18 2018-04-24 International Business Machines Corporation Reliability improvement of distributed transaction processing optimizations based on connection status
US10055170B2 (en) * 2015-04-30 2018-08-21 International Business Machines Corporation Scheduling storage unit maintenance tasks in a dispersed storage network
US9766825B2 (en) 2015-07-22 2017-09-19 Commvault Systems, Inc. Browse and restore for block-level backups
US10296368B2 (en) 2016-03-09 2019-05-21 Commvault Systems, Inc. Hypervisor-independent block-level live browse for access to backed up virtual machine (VM) data and hypervisor-free file-level recovery (block-level pseudo-mount)
US10838821B2 (en) 2017-02-08 2020-11-17 Commvault Systems, Inc. Migrating content and metadata from a backup system
US10740193B2 (en) 2017-02-27 2020-08-11 Commvault Systems, Inc. Hypervisor-independent reference copies of virtual machine payload data based on block-level pseudo-mount
US10891069B2 (en) 2017-03-27 2021-01-12 Commvault Systems, Inc. Creating local copies of data stored in online data repositories
US10776329B2 (en) 2017-03-28 2020-09-15 Commvault Systems, Inc. Migration of a database management system to cloud storage
US11074140B2 (en) 2017-03-29 2021-07-27 Commvault Systems, Inc. Live browsing of granular mailbox data
US10664352B2 (en) 2017-06-14 2020-05-26 Commvault Systems, Inc. Live browsing of backed up data residing on cloned disks
CN109428912B (en) * 2017-08-24 2020-07-10 阿里巴巴集团控股有限公司 Distributed system resource allocation method, device and system
US10795927B2 (en) 2018-02-05 2020-10-06 Commvault Systems, Inc. On-demand metadata extraction of clinical image data
US10789387B2 (en) 2018-03-13 2020-09-29 Commvault Systems, Inc. Graphical representation of an information management system
US20200026428A1 (en) * 2018-07-23 2020-01-23 EMC IP Holding Company LLC Smart auto-backup of virtual machines using a virtual proxy
US10719361B2 (en) * 2018-10-05 2020-07-21 EMC IP Holding Company LLC Synchronous monitoring and feedback system to dynamically optimize the resource usage of backup service
US10860443B2 (en) 2018-12-10 2020-12-08 Commvault Systems, Inc. Evaluation and reporting of recovery readiness in a data storage management system
US11308034B2 (en) 2019-06-27 2022-04-19 Commvault Systems, Inc. Continuously run log backup with minimal configuration and resource usage from the source machine

Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642496A (en) * 1993-09-23 1997-06-24 Kanfi; Arnon Method of making a backup copy of a memory over a plurality of copying sessions
US5953729A (en) 1997-12-23 1999-09-14 Microsoft Corporation Using sparse file technology to stage data that will then be stored in remote storage
US6101585A (en) 1997-11-04 2000-08-08 Adaptec, Inc. Mechanism for incremental backup of on-line files
US6526434B1 (en) 1999-08-24 2003-02-25 International Business Machines Corporation System and method for efficient transfer of data blocks from client to server
US20030145248A1 (en) 2002-01-31 2003-07-31 Mcneil Daniel D. Method and system for providing image incremental and disaster recovery
US6615244B1 (en) 1998-11-28 2003-09-02 Tara C Singhal Internet based archive system for personal computers
US20030177149A1 (en) 2002-03-18 2003-09-18 Coombs David Lawrence System and method for data backup
US6665815B1 (en) 2000-06-22 2003-12-16 Hewlett-Packard Development Company, L.P. Physical incremental backup using snapshots
US6701450B1 (en) 1998-08-07 2004-03-02 Stephen Gold System backup and recovery
US6704885B1 (en) * 2000-07-28 2004-03-09 Oracle International Corporation Performing data backups with a stochastic scheduler in a distributed computing environment
US20040143569A1 (en) 2002-09-03 2004-07-22 William Gross Apparatus and methods for locating data
US6829688B2 (en) 2002-06-20 2004-12-07 International Business Machines Corporation File system backup in a logical volume management data storage environment
US6847983B2 (en) 2001-02-28 2005-01-25 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of open files
US6880051B2 (en) 2002-03-14 2005-04-12 International Business Machines Corporation Method, system, and program for maintaining backup copies of files in a backup storage device
US6898667B2 (en) 2002-05-23 2005-05-24 Hewlett-Packard Development Company, L.P. Managing data in a multi-level raid storage array
US6912635B2 (en) 2002-05-08 2005-06-28 Hewlett-Packard Development Company, L.P. Distributing workload evenly across storage media in a storage array
US6938056B2 (en) 2002-02-22 2005-08-30 International Business Machines Corporation System and method for restoring a file system from backups in the presence of deletions
US7165154B2 (en) 2002-03-18 2007-01-16 Net Integration Technologies Inc. System and method for data backup

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4736318A (en) * 1985-03-01 1988-04-05 Wang Laboratories, Inc. Data processing system having tunable operating system means
JP3315844B2 (en) * 1994-12-09 2002-08-19 株式会社東芝 Scheduling device and scheduling method
US7035808B1 (en) * 1999-10-20 2006-04-25 Avaya Technology Corp. Arrangement for resource and work-item selection
US6687765B2 (en) * 2001-01-16 2004-02-03 International Business Machines Corporation System, method, and computer program for explicitly tunable I/O device controller
JP2004171249A (en) * 2002-11-20 2004-06-17 Hitachi Ltd Backup execution decision method for database

Patent Citations (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5642496A (en) * 1993-09-23 1997-06-24 Kanfi; Arnon Method of making a backup copy of a memory over a plurality of copying sessions
US6101585A (en) 1997-11-04 2000-08-08 Adaptec, Inc. Mechanism for incremental backup of on-line files
US5953729A (en) 1997-12-23 1999-09-14 Microsoft Corporation Using sparse file technology to stage data that will then be stored in remote storage
US6701450B1 (en) 1998-08-07 2004-03-02 Stephen Gold System backup and recovery
US6615244B1 (en) 1998-11-28 2003-09-02 Tara C Singhal Internet based archive system for personal computers
US6526434B1 (en) 1999-08-24 2003-02-25 International Business Machines Corporation System and method for efficient transfer of data blocks from client to server
US6665815B1 (en) 2000-06-22 2003-12-16 Hewlett-Packard Development Company, L.P. Physical incremental backup using snapshots
US6704885B1 (en) * 2000-07-28 2004-03-09 Oracle International Corporation Performing data backups with a stochastic scheduler in a distributed computing environment
US6847983B2 (en) 2001-02-28 2005-01-25 Kiran Somalwar Application independent write monitoring method for fast backup and synchronization of open files
US20030145248A1 (en) 2002-01-31 2003-07-31 Mcneil Daniel D. Method and system for providing image incremental and disaster recovery
US6938056B2 (en) 2002-02-22 2005-08-30 International Business Machines Corporation System and method for restoring a file system from backups in the presence of deletions
US6880051B2 (en) 2002-03-14 2005-04-12 International Business Machines Corporation Method, system, and program for maintaining backup copies of files in a backup storage device
US20030177149A1 (en) 2002-03-18 2003-09-18 Coombs David Lawrence System and method for data backup
US7165154B2 (en) 2002-03-18 2007-01-16 Net Integration Technologies Inc. System and method for data backup
US6912635B2 (en) 2002-05-08 2005-06-28 Hewlett-Packard Development Company, L.P. Distributing workload evenly across storage media in a storage array
US6898667B2 (en) 2002-05-23 2005-05-24 Hewlett-Packard Development Company, L.P. Managing data in a multi-level raid storage array
US6829688B2 (en) 2002-06-20 2004-12-07 International Business Machines Corporation File system backup in a logical volume management data storage environment
US20040143569A1 (en) 2002-09-03 2004-07-22 William Gross Apparatus and methods for locating data

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
"Veritas NetBackup(TM) ServerFree Agent for Oracle; Version 4.0V", Veritas Software Corporation, Mountain View, CA, 2001.
"Veritas NetBackup(TM) ServerFree Agent; Version 4.0V", Veritas Software Corporation, Mountain View, CA, 2001.
"Veritas NetBackup™ ServerFree Agent for Oracle; Version 4.0V", Veritas Software Corporation, Mountain View, CA, 2001.
"Veritas NetBackup™ ServerFree Agent; Version 4.0V", Veritas Software Corporation, Mountain View, CA, 2001.

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090249006A1 (en) * 2008-03-31 2009-10-01 Boldt Michael W System and Method for Setting an Activation State for a Device Used in a Backup Operation
US8769223B2 (en) 2008-03-31 2014-07-01 Symantec Corporation System and method for setting an activation state for a device used in a backup operation
US8271443B1 (en) 2009-06-29 2012-09-18 Symantec Operating Corporation Backup system including a privately accessible primary backup server and a publicly accessible alternate backup server
US8417671B1 (en) 2009-06-29 2013-04-09 Symantec Corporation Backup system including a primary backup server accessible via a VPN and an alternate backup server accessible via the internet
US20110158066A1 (en) * 2009-12-28 2011-06-30 Chia-Che Hu Backup device and one-key data backup method for the same
US8059503B2 (en) * 2009-12-28 2011-11-15 Ezpnp Technologies Corp. Backup device and one-key data backup method for the same

Also Published As

Publication number Publication date
US20070067587A1 (en) 2007-03-22
US7139846B1 (en) 2006-11-21

Similar Documents

Publication Publication Date Title
US7702824B2 (en) Computer system and method for performing low impact backup operations
US10324757B2 (en) Scheduling computer program jobs
US6820215B2 (en) System and method for performing automatic rejuvenation at the optimal time based on work load history in a distributed data processing environment
US6591262B1 (en) Collaborative workload management incorporating work unit attributes in resource allocation
US9727372B2 (en) Scheduling computer jobs for execution
US8336054B2 (en) System and method for allocating capacity of shared resources to a workload
US7631076B2 (en) Apparatus, system, and method for adaptive polling of monitored systems
US11016956B2 (en) Database management system with database hibernation and bursting
US8959515B2 (en) Task scheduling policy for limited memory systems
US8661447B1 (en) Method and apparatus for managing execution of a plurality of computer tasks based on availability of computer resources
US6477561B1 (en) Thread optimization
US7167965B2 (en) Method and system for online data migration on storage systems with performance guarantees
US7137117B2 (en) Dynamically variable idle time thread scheduling
US8438430B2 (en) Resource management system and apparatus
US7685285B2 (en) Method and apparatus for managing executions of a management program within a data processing system
EP1963989B1 (en) Program execution service windows
US20070074219A1 (en) Dynamically Variable Idle Time Thread Scheduling
US20020147966A1 (en) Operating software performance monitor
US8136113B2 (en) Method and apparatus for adjusting sleep time of fixed high-priority threads
US7555621B1 (en) Disk access antiblocking system and method
US9607275B2 (en) Method and system for integration of systems management with project and portfolio management
US11481262B1 (en) Rapid autoscaling with preinitialized instance quantity based on historical scale up rate
US11520638B1 (en) Combined active and preinitialized resource management for rapid autoscaling

Legal Events

Date Code Title Description
AS Assignment

Owner name: SYMANTEC CORPORATION, CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:VERITAS OPERATING CORPORATION;REEL/FRAME:019872/0979

Effective date: 20061030

Owner name: SYMANTEC CORPORATION,CALIFORNIA

Free format text: CHANGE OF NAME;ASSIGNOR:VERITAS OPERATING CORPORATION;REEL/FRAME:019872/0979

Effective date: 20061030

STCF Information on status: patent grant

Free format text: PATENTED CASE

AS Assignment

Owner name: SYMANTEC OPERATING CORPORATION, CALIFORNIA

Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE ASSIGNEE PREVIOUSLY RECORDED ON REEL 019872 FRAME 979. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNEE IS SYMANTEC OPERATING CORPORATION;ASSIGNOR:VERITAS OPERATING CORPORATION;REEL/FRAME:027819/0462

Effective date: 20061030

FPAY Fee payment

Year of fee payment: 4

AS Assignment

Owner name: VERITAS US IP HOLDINGS LLC, CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SYMANTEC CORPORATION;REEL/FRAME:037697/0412

Effective date: 20160129

AS Assignment

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH CAROLINA

Free format text: SECURITY INTEREST;ASSIGNOR:VERITAS US IP HOLDINGS LLC;REEL/FRAME:037891/0001

Effective date: 20160129

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT, CONNECTICUT

Free format text: SECURITY INTEREST;ASSIGNOR:VERITAS US IP HOLDINGS LLC;REEL/FRAME:037891/0726

Effective date: 20160129

Owner name: BANK OF AMERICA, N.A., AS COLLATERAL AGENT, NORTH

Free format text: SECURITY INTEREST;ASSIGNOR:VERITAS US IP HOLDINGS LLC;REEL/FRAME:037891/0001

Effective date: 20160129

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATE

Free format text: SECURITY INTEREST;ASSIGNOR:VERITAS US IP HOLDINGS LLC;REEL/FRAME:037891/0726

Effective date: 20160129

AS Assignment

Owner name: VERITAS TECHNOLOGIES LLC, CALIFORNIA

Free format text: MERGER AND CHANGE OF NAME;ASSIGNORS:VERITAS US IP HOLDINGS LLC;VERITAS TECHNOLOGIES LLC;REEL/FRAME:038455/0752

Effective date: 20160329

MAFP Maintenance fee payment

Free format text: PAYMENT OF MAINTENANCE FEE, 8TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1552)

Year of fee payment: 8

AS Assignment

Owner name: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT, DELAWARE

Free format text: SECURITY INTEREST;ASSIGNOR:VERITAS TECHNOLOGIES LLC;REEL/FRAME:054370/0134

Effective date: 20200820

AS Assignment

Owner name: VERITAS US IP HOLDINGS, LLC, CALIFORNIA

Free format text: TERMINATION AND RELEASE OF SECURITY IN PATENTS AT R/F 037891/0726;ASSIGNOR:WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT;REEL/FRAME:054535/0814

Effective date: 20201127

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20220420