Disclosed is a rollback-free method for performing multi-step procedures in the presence of possible failure. As the procedure proceeds from its initial state through transitions to its final state, its constituent transitions are monitored for failure. If a failure is detected, then the procedure is "sidetracked" into a recovery coordination state. From the recovery coordination state, the procedure is logically taken back to its initial state and retried. In this manner, the procedure is shepherded, without rollbacks, through its transitions until it successfully reaches its final state. In a particular embodiment, a multi-step procedure is developed for moving a resource from one resource server to another. The steps of the procedure are designed so that all throughout the procedure, both of the resource servers and a directory server are kept synchronized. This allows client requests to proceed without interruption even during the resource movement.
A data protection application if provided. The data protection application includes a job for providing protection to data. That job contains a plurality of tasks configured to perform the job. Also included is a task executor for managing the progress of each of the plurality of tasks.
A method for protecting protectable objects located at a production location is provided. A Namespace, representative of a plurality of protectable objects, is provided to a user for selection. A selection of at least a portion of the Namespace is received and that selected portion is mapped to at least one protectable object. A plan for protecting the mapped protectable object is created, and using that plan the protectable object is protected.
The disclosed technology facilitates recovery from storage-related failures by checkpointing copy-on-write operation sequences. An operation sequence incorporating such checkpoints into a copy-on-write can include the following: receive a write request that identifies payload data to be written to a first data store, read original data associated with the first data store, copy the original data to a second data store, record transactional information associated with the write request, generate a first checkpoint to confirm the successful recordation of the transactional information and the successful copying of the original data to the second data store, write the payload data to the first data store, acknowledge a successful completion of the copy-on-write operation sequence, and generate a second checkpoint that confirms the successful completion of such operation sequence. The first and second checkpoints are used to form a pre-failure representation of one or more storage units (or parts thereof). The checkpoints can be stored with other transactional information, to facilitate recovery in the event of a failure, and can be used to facilitate the use of optimizations to process I/O operations.
A storage management device receives a request to restore a portion of a data store to its content at a specified past time, which is selected from a substantially continuous time interval. In response to the received request, the storage management device stores in the portion of the data store content that was stored in the portion of the data store at the specified past time and that was overwritten since the specified past time.