System and method for data deduplication of backup images
US-9098432-B1 · Aug 4, 2015 · US
US10275474B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10275474-B2 |
| Application number | US-201414339039-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jul 23, 2014 |
| Priority date | Nov 16, 2010 |
| Publication date | Apr 30, 2019 |
| Grant date | Apr 30, 2019 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
Systems and methods are disclosed for managing deduplicated images of data objects that change over time. The method includes: organizing unique content of each data object as a plurality of content segments and storing the content segments in a data store; for each data object, creating an organized arrangement of hash structures, wherein each structure, for a subset of the hash structures, includes a hash signature for a corresponding content segment and is associated with a reference to the corresponding content segment, and for each data object, maintaining an organized arrangement of temporal structures to represent a corresponding data object over time, wherein each structure is associated with a temporal state of the data object, and wherein each temporal state is associated with the hash structures representing the content of the data object during that temporal state.
Opening claim text (preview).
I claim: 1. A method of managing deduplicated images of data objects that change over time, said method comprising: organizing unique content of each data object of a plurality of data objects as a plurality of content segments and storing the content segments in a data store; for each data object: creating a first logical organization of an arrangement of data structures, wherein each data structure, for a subset of the data structures, is associated with a reference to a corresponding content segment, and wherein the first logical organization is representative of the content segments as they are represented within the data object; creating a second logical organization of an arrangement of second data structures, the second data structures representative of one or more of the data structures associated with corresponding content segments of the data object; creating a third logical organization of third data structures, the third data structures representative of one or more of the second data structures associated with corresponding data structures of the first logical organization, wherein the first, second, and third logical organizations can be traversed to determine if content is represented by the first logical organization; and maintaining an organized arrangement of temporal structures to represent the data object over time, wherein each temporal structure is associated with a temporal state of the data object at a specific time and includes one of a single data structure from the first logical organization, the second logical organization, the third logical organization, or a higher logical organization, and wherein the organized arrangement of temporal structures is organized such that each subsequent temporal state of the data object, which represent the data object at a later time, is linked to a prior temporal state of the data object, the prior temporal state representing the data object at a prior time that occurred before the later time. 2. The method of claim 1 , wherein the temporal structures for a data object at a given temporal state is associated with data structures for data object content that has changed relative to a prior temporal state of the data object. 3. The method of claim 2 , wherein the data structures for the changed data content is organized as a graph separate from the organized arrangement of data structures for a prior temporal state. 4. The method of claim 1 , wherein differences in content of a data object from one temporal state to another is determined by referencing the organized arrangement of temporal structures for the other temporal state and for all other temporal states intervening between the other temporal state and the one state so that differences may be determined over multiple temporal states. 5. The method of claim 1 , further comprising adding a new temporal state of the data object and linking the new temporal state to the state of the data object at the specific time. 6. The method of claim 1 , wherein a single prior temporal state can be linked to a plurality of subsequent temporal states. 7. The method of claim 1 , wherein the temporal structure includes a branching structure of nodes, wherein each node is connected to at least one of: one parent node; and one or more child nodes. 8. The method of claim 7 , further comprising adding a node connected to both a child node and a parent node. 9. The method of claim 1 , further comprising using the method of claim 1 in at least one of remote data backup, testing and development, business continuity, disaster recovery, or any combination thereof. 10. The method of claim 1 , further comprising: storing the temporal structure in a local storage pool; and storing the data structure in a remote storage pool. 11. A system for managing deduplicated images of data objects that change over time, said system comprising: a content addressable store comprising a memory containing instructions for execution by a processor, the processor configured to: organize unique content of each data object as a plurality of content segments and storing the content segments in a data store; create a first logical organization of an arrangement of data structures, wherein each data structure, for a subset of the data structures, is associated with a reference to a corresponding content segment, wherein the first logical organization is representative of the content segments as they are represented within the data object; create a second logical organization of second data structures, the second data structures representative of one or more of the data structures associated with corresponding content segments of the data object; create a third logical organization of third data structures, the third data structures representative of one or more of the second data structures associated with corresponding data structures of the first logical organization, wherein the first, second, and third logical organizations can be traversed to determine if content is represented by the first logical organization; and maintain an organized arrangement of temporal structures to represent the data object over time, wherein each temporal structure is associated with a temporal state of the data object at a specific time and includes one of a single data structure from the first logical organization, the second logical organization, the third logical organization, or a higher logical organization and corresponding to the entire data object, and wherein the organized arrangement of temporal structures is organized such that each subsequent temporal state of the data object, which represent the data object at a later time, is linked to a prior temporal state of the data object, the prior temporal state representing the data object at a prior time that occurred before the later time. 12. The system of claim 11 , wherein the temporal structures for a data object at a given temporal state is associated with data structures for data object content that has changed relative to a prior temporal state of the data object. 13. The system of claim 12 , wherein the data structures for the changed data content is organized as a graph separate from the organized arrangement of data structures for a prior temporal state. 14. The system of claim 11 , wherein the processor is further configured to determine differences in content of a data object from one temporal state to another by referencing the organized arrangement of temporal structures for the other temporal state and for all other temporal states intervening between the other temporal state and the one state so that differences may be determined over multiple temporal states. 15. The system of claim 11 , wherein the processor is further configured to add a new temporal state of the data object and link the new temporal state to the state of the data object at the specific time. 16. The system of claim 11 , wherein a single prior temporal state can be linked to a plurality of subsequent temporal states. 17. The system of claim 11 , wherein the temporal structure includes a branching structure of nodes, wherein each node is connected to at least one of: one parent node; and one or more child nodes. 18. The system of claim 17 , wherein the processor is further configured to add a node connected to both a child node and a parent node. 19. The system of claim 11 , wherein a data management virtualization system is configured to use the system of claim 11 in at least one of remote data backup, testing and development,
by facilitating the interaction with a user or administrator · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
by selection of backup contents · CPC title
Using snapshots, i.e. a logical point-in-time copy of the data · CPC title
Physics · mapped topic
Related publications grouped by family.
Answers are generated from the same data shown on this page.