Patent ID: 8402004
Filing Date: 2013-03-19
Classification: G06F

Abstract:
1. A method of storing deduplicated images of a data object that changes over time in a deduplicating content store using difference information between temporal states of the same data object, said method comprising: organizing the content of the data object for a first temporal state of the data object as a plurality of content segments and storing the plurality of content segments in a data store; creating a content structure representing content of the data object as an organized arrangement of hash structures in the data store, wherein for a subset of the hash structures, each hash structure includes a hash signature for a corresponding content segment and is associated with a reference to the corresponding content segment, and wherein a logical organization of the content structure represents the organization of the content segments as they are represented within the data object; creating a first temporal structure representing the temporal state of the data object in its first temporal state, the temporal structure associated with the content structure in the data store; receiving difference information for the data object, said difference information indicating changed content for the data object for a second temporal state of the data object relative to the first temporal state, and said difference information indicating a location of the changed content within the data object; forming at least one hash signature for the changed content; determining whether the changed content should be stored by searching for the at least one hash signature in the content structure associated with the first temporal structure, storing any changed content that is unique in the data store as content segments; modifying the organized arrangement of hash structures to incorporate new structures for the at least one hash signature for the changed content, incorporating the new structures in the organized arrangement of structures at a position corresponding to the location of the changed content within the data object as indicated within said difference information, and associating the hash signatures for the new structures with references to the content segments corresponding to the changed content; creating a second temporal structure for the second temporal state of said data object that is associated with the first temporal structure; and associating the new structures with the second temporal structure, so that the difference between the content associated with the first temporal structure and the second temporal structure indicates how the data object has changed over time, thereby creating a deduplicated image of the data object for a later temporal state using data that has been stored at a prior temporal state of the data object without querying hash structures for data that are unrelated to the data object.