Object synthesis
First Claim
1. A non-transitory computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to perform a method, the method comprising:
- controlling the computer to synthesize a target entity from a source entity,where the source entity comprises one or more blocks processed by a data de-duplication process and stored in a block repository, where the data de-duplication process is a post-processing data de-duplication process, a storage layout aware data de-duplication process, a storage layout aware cloning process, a storage layout aware replication process, a snapshot/replay process, or a de-duplication defragmentation process,where a representation of the source entity comprises a first named, organized collection of references to blocks produced by the data de-duplication process,where a representation of the target entity is a second named, organized collection of references to blocks produced by the data de-duplication process, andwhere synthesizing the target entity from the source entity comprises;
manipulating the representation of the target entity by copying a reference from the representation of the source entity to the representation of the target entity;
establishing the representation of the target entity by adding to the representation of the target entity zero or more references not found in the representation of the source entity;
establishing the representation of the target entity by adding to the representation of the target entity at least one reference not found in the representation of the source entity;
orlogically adding to the target entity a block not referred to by the representation of the source entity; and
selectively manipulating a parse context in use by the data de-duplication process to a first default state, a second state associated with a parse context in use at the time the de-duplication process processed a block associated with the source entity, or a third state that emulates a parse context present before a discontinuity in a target stream, where the parse context comprises a current position in an incident data stream, a rolling hash value, a pre-determined condition being evaluated by the de-duplication process, a pattern being sought by the de-duplication process, or progress towards the pattern being sought.
9 Assignments
0 Petitions
Accused Products
Abstract
Apparatus, methods, and other embodiments associated with object synthesis are described. One example apparatus includes logic for identifying a block in a data de-duplication repository and for identifying a reference to the block. The apparatus also includes logic for representing a source object using a first named, organized collection of references to blocks in the data de-duplication repository and logic for representing a target object using a second named, organized collection of references. The apparatus is configured to synthesize the target object from the source object. Since synthesis may be complicated by edge cases, the apparatus is configured to account for conditions including a block in the target object needing less than all the data in a source object block, data to be used to synthesize the target object residing in a sparse hole in a data stream, and the target object needing data not present in the source object.
-
Citations
14 Claims
-
1. A non-transitory computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to perform a method, the method comprising:
-
controlling the computer to synthesize a target entity from a source entity, where the source entity comprises one or more blocks processed by a data de-duplication process and stored in a block repository, where the data de-duplication process is a post-processing data de-duplication process, a storage layout aware data de-duplication process, a storage layout aware cloning process, a storage layout aware replication process, a snapshot/replay process, or a de-duplication defragmentation process, where a representation of the source entity comprises a first named, organized collection of references to blocks produced by the data de-duplication process, where a representation of the target entity is a second named, organized collection of references to blocks produced by the data de-duplication process, and where synthesizing the target entity from the source entity comprises; manipulating the representation of the target entity by copying a reference from the representation of the source entity to the representation of the target entity; establishing the representation of the target entity by adding to the representation of the target entity zero or more references not found in the representation of the source entity; establishing the representation of the target entity by adding to the representation of the target entity at least one reference not found in the representation of the source entity;
orlogically adding to the target entity a block not referred to by the representation of the source entity; and selectively manipulating a parse context in use by the data de-duplication process to a first default state, a second state associated with a parse context in use at the time the de-duplication process processed a block associated with the source entity, or a third state that emulates a parse context present before a discontinuity in a target stream, where the parse context comprises a current position in an incident data stream, a rolling hash value, a pre-determined condition being evaluated by the de-duplication process, a pattern being sought by the de-duplication process, or progress towards the pattern being sought. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus, comprising:
-
a processor; a memory; a set of logics; and an interface to connect the processor, the memory, and the set of logics, the set of logics comprising; a first logic that processes a source object and that processes a first organized set of pointers to blocks associated with the source object, where the blocks are stored in a data de-duplication block data store, where the blocks were processed by a de-duplication process, and where the organized set of pointers facilitates recreating the source object from blocks stored in the data de-duplication block data store, where the de-duplication process is a post-processing data de-duplication process, a storage layout aware data de-duplication process, a storage layout aware cloning process, a storage layout aware replication process, a snapshot/replay process, or a de-duplication defragmentation process; a second logic that processes a target object and that processes a second organized set of pointers to blocks associated with the target object, where the second organized set of pointers facilitates recreating the target object from blocks stored in the data de-duplication block data store; and a third logic that synthesizes the target object from the source object by controlling the first logic to selectively provide members of the first set of pointers to the second logic and by controlling the second logic to arrange the pointers provided from the first set of pointers in the second set of pointers, where the third logic provides a new pointer to the second logic, where the new pointer is not provided by the first logic, and where the new pointer is associated with new data processed by the de-duplication process, and where the new pointer is provided in response to determining that the target object cannot be synthesized completely from data associated only with the source object; and where the third logic selectively manipulates a parse context associated with the de-duplication process in response to determining that the target object cannot be synthesized completely from data associated with the source object, where the parse context includes a current position in an incident data stream, a rolling hash value, a pre-determined condition being evaluated by the de-duplication process, a pattern being sought by the de-duplication process, or progress towards the pattern being sought. - View Dependent Claims (10, 11, 12, 13)
-
-
14. A system, comprising:
-
means for identifying a block in a data de-duplication repository; means for identifying a reference to a block in a data de-duplication repository; means for representing a source object using a first named, organized collection of references to blocks in the data de-duplication repository; means for representing a target object using a second named, organized collection of references to blocks in the data de-duplication repository, means for synthesizing the target object from the source object by manipulating the second named organized collection of references based, at least in part, on data available through the first named organized collection of references, where the means for synthesizing is configured to account for a plurality of conditions, where the plurality of conditions includes; a condition where a block associated with the target object needs less than all the data in a block associated with the source object, a condition where data to be used to synthesize the target object resides in a sparse hole in a data stream; and a condition where data to be used to synthesize the target object is not present in the source object; and means for selectively manipulating a parse context associated with a de-duplication process in response to determining that the target object cannot be synthesized completely from data associated with the source object, where the parse context comprises a current position in an incident data stream, a rolling hash value, a pre-determined condition being evaluated by the de-duplication process, a pattern being sought by the de-duplication process, or progress towards the pattern being sought.
-
Specification