Patent ID: 8886611
Filing Date: 2014-11-11
Classification: G06F

Abstract:
1. A method for restoring a metadata record from differential metadata, the method comprising: identifying a first metadata snapshot associated with the metadata record, the first metadata snapshot including a plurality of nodes corresponding to metadata to be restored; establishing a time sequence spanning between an arbitrary time reference and a time reference corresponding to the first metadata snapshot; locating a plurality of differential metadata records created during the time sequence, the plurality of differential metadata records each including nodes corresponding to changes in metadata relative to the first metadata snapshot and one or more empty nodes corresponding to metadata inherited from temporally adjacent differential metadata records or the first metadata snapshot, wherein a node is representative of blocks of data, the node being defined by an offset and a length; parsing the first metadata snapshot to determine the nodes and create an index for the metadata record to be restored; opening the plurality of differential metadata records simultaneously; iterating through each of the nodes of the plurality of differential metadata records; deferring iteration when a node to be inherited by a second differential metadata record occurs before the currently inheriting node of a first differential metadata record temporally adjacent to the second differential metadata record, the deferring further including recursively iterating at the currently inheriting node of the first differential metadata record until all nodes of the first differential metadata record have been iterated; inheriting the nodes of the first metadata snapshot, utilizing the index, in reverse chronological order relative to the nodes of the plurality of opened differential metadata records to determine changes between the first metadata snapshot and the metadata record to be restored; and restoring the metadata record to the arbitrary time reference utilizing the determined changes.