Managing transformed snapshots in a storage system
First Claim
1. A method for transforming snapshots, the method comprising:
- storing, in a storage system, a plurality of source snapshots, wherein a source snapshot shares data blocks with one or more other source snapshots;
maintaining links representing relationships between source snapshots from the plurality of source snapshots, each link relating a snapshot with another snapshot created using data of the snapshot;
identifying a set of previously created transformed snapshots associated with a transform operation and stored in the storage system, each transformed snapshot of the set of transformed snapshots obtained by performing the transform operation on data of a respective source snapshot of the plurality of source snapshots to change a format of the respective source snapshot;
receiving a request to perform the transform operation on a first source snapshot of the plurality of source snapshots;
generating a first transformed snapshot by transforming data of the first source snapshot;
determining relations between the first transformed snapshot and the previously created transformed snapshots, the determining comprising;
identifying a second source snapshot of the plurality of source snapshots, the second source snapshot connected to the first source snapshot via one or more links, and wherein the second source snapshot was transformed to obtain a second transformed snapshot of the previously created transformed snapshots; and
responsive to identifying the second source snapshot, storing at least one link between the first transformed snapshot and the second transformed snapshot based upon the identified one or more links connecting the first source snapshot and the second source snapshot; and
sending information describing relations between one or more transformed snapshots for presentation via a user interface.
11 Assignments
0 Petitions
Accused Products
Abstract
A storage system performs transformations of data stored as source snapshots to obtain transformed snapshots. The storage system stores relations between source snapshots, for example, parent child relationships. The storage system analyzes relationships between source snapshots to determine relationships between transformed snapshots. The storage system creates a transformed snapshot based on a source snapshot. The storage system traverses the graph representing source snapshots to identify ancestor or descendants of the source snapshots that were previously transformed. The storage system determines the transformed snapshots corresponding to the ancestor and descendant source snapshots and relates them to the newly created transformed snapshot.
-
Citations
21 Claims
-
1. A method for transforming snapshots, the method comprising:
-
storing, in a storage system, a plurality of source snapshots, wherein a source snapshot shares data blocks with one or more other source snapshots; maintaining links representing relationships between source snapshots from the plurality of source snapshots, each link relating a snapshot with another snapshot created using data of the snapshot; identifying a set of previously created transformed snapshots associated with a transform operation and stored in the storage system, each transformed snapshot of the set of transformed snapshots obtained by performing the transform operation on data of a respective source snapshot of the plurality of source snapshots to change a format of the respective source snapshot; receiving a request to perform the transform operation on a first source snapshot of the plurality of source snapshots; generating a first transformed snapshot by transforming data of the first source snapshot; determining relations between the first transformed snapshot and the previously created transformed snapshots, the determining comprising; identifying a second source snapshot of the plurality of source snapshots, the second source snapshot connected to the first source snapshot via one or more links, and wherein the second source snapshot was transformed to obtain a second transformed snapshot of the previously created transformed snapshots; and responsive to identifying the second source snapshot, storing at least one link between the first transformed snapshot and the second transformed snapshot based upon the identified one or more links connecting the first source snapshot and the second source snapshot; and sending information describing relations between one or more transformed snapshots for presentation via a user interface. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A non-transitory computer-readable storage medium storing instructions for:
-
storing, in a storage system, a plurality of source snapshots, wherein a source snapshot shares data blocks with one or more other source snapshots; maintaining links representing relationships between source snapshots from the plurality of source snapshots, each link relating a snapshot with another snapshot created using data of the snapshot; identifying a set of previously created transformed snapshots associated with a transform operation and stored in the storage system, each transformed snapshot of the set of transformed snapshots obtained by performing the transform operation on data of a respective source snapshot of the plurality of source snapshots to change a format of the respective source snapshot; receiving a request to perform the transform operation on a first source snapshot of the plurality of source snapshots; generating a first transformed snapshot by transforming data of the first source snapshot; determining relations between the first transformed snapshot and the previously created transformed snapshots, the determining comprising; identifying a second source snapshot of the plurality of source snapshots, the second source snapshot connected to the first source snapshot via one or more links, and wherein the second source snapshot was transformed to obtain a second transformed snapshot of the previously created transformed snapshots; and responsive to identifying the second source snapshot, storing at least one link between the first transformed snapshot and the second transformed snapshot based upon the identified one or more links connecting the first source snapshot and the second source snapshot; and sending information describing relations between one or more transformed snapshots for presentation via a user interface. - View Dependent Claims (15, 16, 17, 18, 19)
-
-
20. A computer system, comprising:
-
an electronic processors; and a non-transitory computer-readable storage medium storing instructions for; storing, in a storage system, a plurality of source snapshots, wherein a source snapshot shares data blocks with one or more other source snapshots; maintaining links representing relationships between source snapshots from the plurality of source snapshots, each link relating a snapshot with another snapshot created using data of the snapshot; identifying a set of previously created transformed snapshots associated with a transform operation and stored in the storage system, each transformed snapshot of the set of transformed snapshots obtained by performing the transform operation on data of a respective source snapshot of the plurality of source snapshots to change a format of the respective source snapshot; receiving a request to perform the transform operation on a first source snapshot of the plurality of source snapshots; generating a first transformed snapshot by transforming data of the first source snapshot; determining relations between the first transformed snapshot and the previously created transformed snapshots, the determining comprising; identifying a second source snapshot of the plurality of source snapshots, the second source snapshot connected to the first source snapshot via one or more links, and wherein the second source snapshot was transformed to obtain a second transformed snapshot of the previously created transformed snapshots; and responsive to identifying the second source snapshot, storing at least one link between the first transformed snapshot and the second transformed snapshot based upon the identified one or more links connecting the first source snapshot and the second source snapshot; and sending information describing relations between one or more transformed snapshots for presentation via a user interface.
-
-
21. A method for transforming data, the method comprising:
-
storing, in a storage system, a plurality of source entities, wherein a source entity represents data stored as a plurality of data blocks in the storage system, wherein an entity shares data blocks with one or more other entities represented in the storage system; maintaining links representing relationships between entities from the plurality of source entities, each link relating an entity with another entity created using data of the entity; identifying a set of previously created transformed entities associated with a transform operation and stored in the storage system, each transformed entity of the set of transformed entities obtained by performing the transform operation on data of a respective source entity of the plurality of source entities to change a format of the respective source entity; receiving a request to perform the transform operation on a first source entity of the plurality of source entities; generating a first transformed entity by transforming data of the first source entity; determining relations between the first transformed entity and the previously created transformed entities, the determining comprising; identifying a second source entity of the plurality of source entities, the second source entity connected to the first source entity via one or more links, and wherein the second source entity was transformed to obtain a second transformed entity of the previously created transformed entities; and responsive to identifying the second source entity, storing at least one link between the first transformed entity and the second transformed entity based upon the identified one or more links connecting the first source entity and the second source entity; and sending information describing relations between one or more transformed entity for presentation via a user interface.
-
Specification