Patent ID: 8719809

Claim:
A method of updating a data storage system such that the updated data storage system can be rolled back to a pre-update state, the method comprising: automatically detecting one or more software upgrades, sequentially intercepting update commands associated with each software upgrade and identifying at least some components and files in primary storage of a data storage system that are to be updated; delaying execution of the update commands associated with identified components and files; automatically copying with one or more computer processors at least one or more of the identified components in the data storage system as well as at least one or more of the identified files in the data storage system existing at a pre-update state to create copied components and files prior to execution of the update commands that update the identified components and files in the data storage system such that at least some of the updated components and files can be rolled back to the pre-update state; storing information in a rollback data structure about the copied components and files existing at the pre-update state, the rollback data structure comprising at least storage locations and copy times associated with the copied components and files existing at the pre-update state, the rollback data structure stored in the primary storage of the data storage system; allowing execution of each update command after automatically copying the identified components and files existing at the pre-update state; maintaining data migration parameters regarding copies of the components and files existing at the pre-update state, wherein the data migration parameters define a time period for retaining the copies of the components and files existing at the pre-update state in primary storage before migrating to secondary storage; when migrating the copied files and components to secondary memory, updating the storage locations in the rollback data structure to identify secondary storage locations in secondary memory; receiving a point-in-time request due to problems encountered in association with an upgrade, to roll back the one or more software updates to a point in time, to the pre-update state existing at a prior time and date; automatically identifying which of the one or more software upgrades occurred after the point in time based at least in part on the copy times in the rollback data structure; automatically rolling back the one or more software upgrades to the prior time and date that wherein automatically rolling back the one or more software upgrades restores the identified components and files existing at the pre-update state associated with the point-in-time request, wherein the data migration parameters further define automatic deletion of migrated copies of the components and files existing at the pre-update state after a designated number of upgrades are known to be good.