US 9,811,421 B1
Managing multi-step storage management operations by using fault recovery policies
RongZhang Wu, Shanghai (CN); Xuan Tang, Hopkinton, MA (US); Yifan Wang, Shanghai (CN); and Yiyang Zhang, Shanghai (CN)
Assigned to EMC IP Holding Company LLC, Hopkinton, MA (US)
Filed by RongZhang Wu, Shanghai (CN); Xuan Tang, Hopkinton, MA (US); Yifan Wang, Shanghai (CN); and Yiyang Zhang, Shanghai (CN)
Filed on Mar. 31, 2011, as Appl. No. 13/76,594.
Int. Cl. G06F 11/14 (2006.01); G06F 11/07 (2006.01); G06F 9/48 (2006.01)
CPC G06F 11/1402 (2013.01) [G06F 9/485 (2013.01); G06F 11/07 (2013.01); G06F 11/14 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for use in managing multi-step storage management operations, the method comprising:
receiving a request to execute a multi-step storage management operation, wherein the multi-step storage management operation is comprised of a set of discrete tasks, wherein the set of discrete tasks are bundled together and executed asynchronously, wherein upon failure of a discrete task, a fault recovery policy for the discrete task is invoked;
using a fault recovery policy framework to enable a user to recover from a failure occurred during execution of the multi-step storage management operation by programmatically defining a set of fault recovery policies for the set of discrete tasks included in the multi-step storage management operation, each fault recovery policy of the set of fault recovery policies being associated with a discrete task of the set of discrete tasks, wherein a fault recovery policy for a discrete task of the set of discrete tasks indicates directions for reacting to results of the discrete task of the multi-step storage management operation, wherein reacting to the results of the discrete task includes a set of recovery actions for recovering from a failure;
invoking each discrete task of the set of discrete tasks upon receiving the request to execute the multi-step storage management operation;
based on results of each discrete task of the set of discrete tasks, invoking a fault recovery policy from the set of fault recovery policies for recovering from a failure occurred upon invoking a discrete task during execution of the multi-step storage management operation, wherein the fault recovery policy is associated with the discrete task, wherein the fault recovery policy is invoked upon determining that the discrete task has failed to complete during execution of the multi-step storage management operation; and
based on the invocation of the fault recovery policy, performing a recovery action associated with the fault recovery policy upon resuming the execution of the multi-step storage management operation after the failure of the discrete task of the multi-step storage management operation, wherein a recovery action includes a continue action, a re-run action, stop on error action, and a rollback action.