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 .