IP Library Granted Patent US 8,417,674
Granted Patent B2
US 8,417,674 · App. 12/947,513 · Granted Apr 9, 2013

System and method for creating deduplicated copies of data by sending difference data between near-neighbor temporal states

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,417,674
App. No.
12/947,513
Granted
Apr 9, 2013
Kind
B2
Abstract

Systems and methods are disclosed for using a first deduplicating store to update a second deduplicating store with information representing how data objects change over time, said method comprising: at a first and a second deduplicating store, 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 the logical arrangement of structures is indicative of the changing temporal states of the data object; finding a temporal state that is common to and in temporal proximity to the current state of the first and second deduplicating stores; and compiling and sending a set of hash signatures for the content that has changed from the common state to the current temporal state of the first deduplicating store.

Claims (17)

1. A method for using a source deduplicating store to update a target deduplicating store with information representing how data objects change over time, said method comprising:

at the source deduplicating store, organizing unique content of each data object as a plurality of content segments and storing the content segments in a data store, wherein the source deduplicating store contains unique content and avoids storing duplicate content;

at the source deduplicating 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, wherein the logical organization of the arrangement represents the logical organization of the content segments as they are represented within the data object;

at the source deduplicating store, 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 the logical arrangement of structures is indicative of the changing temporal states of the data object, and wherein each temporal state is associated with a set of hash structures representing all content of the data object that has changed relative to a prior temporal state;

at the target deduplicating store, organizing unique content of each data object as a plurality of content segments and storing the content segments in a data store, wherein the target deduplicating store contains unique content and avoids storing duplicate content;

at the target deduplicating store, for each data object, maintaining an organized arrangement of hash structures, that is at least a subset of the hash structures at said first deduplicating store;

at the target deduplicating store, for each data object, maintaining an organized arrangement of temporal structures to represent a corresponding data object over time, wherein said organized arrangement of temporal structures is at least a subset of the temporal structures at said source deduplicating store, representing a subset of the temporal states;

in response to a request to update the target deduplicating store with information from said source deduplicating store, finding a temporal state that is common to the source and target deduplicating stores and that is within temporal proximity of the current state of the source deduplicating store; and

compiling a set of hash signatures for the content that has changed from the common state to the current temporal state of the source deduplicating store and sending that set of hash signatures to the target deduplicating store so it can update its organized arrangement of hash structures to represent the content of the data object up to the current temporal state of the source deduplicating store,

so that after the update, each of the source and target deduplicating stores includes representations of the data object indicating how the data object has changed over time.

2. The method of claim 1 , further including maintaining a history of the hash signatures that each deduplicating store contains, and for hash signatures in the set of hash signatures that are new to the target deduplicating store, sending the corresponding content segments from the source deduplicating store so that the target deduplicating store may update its data store with the new content.

3. The method of claim 1 , wherein the temporal state that is in proximity to the current state of the target deduplicating store is a nearest neighbor state of the current state.

4. The method of claim 1 , wherein the temporal state that is in proximity to the current state of the target deduplicating store is an ancestor state of the current state.

5. The method of claim 1 , wherein the temporal state that is in proximity to the current state of the target deduplicating store is a child state of the current state.

6. The method of claim 3 , wherein the nearest neighbor state is the state which is connected by a set of edges whose sum is lower than the sum of any other set of edges.

7. The method of claim 1 , wherein the logical arrangement of structures is a tree data structure that contains branching.

8. The method of claim 2 , further comprising recording, at the current state, to what states the content segments corresponding to the current temporal state has been sent.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2021
From: ACTIFIO, INC.
To: GOOGLE LLC
Reel/Frame 056911/0517 →
RELEASE OF SECURITY INTEREST Recorded May 29, 2020
From: CRESTLINE DIRECT FINANCE, L.P., AS COLLATERAL AGENT
To: ACTIFIO, INC.
Reel/Frame 053483/0084 →
SECURITY INTEREST Recorded Aug 3, 2018
From: ACTIFIO, INC.
To: CRESTLINE DIRECT FINANCE, L.P., AS ADMINISTRATIVE AGENT, COLLATERAL AGENT AND SOLE LEAD ARRANGER
Reel/Frame 046702/0543 →
RELEASE OF SECURITY INTEREST Recorded May 5, 2017
From: HERCULES CAPITAL, INC. (FORMERLY KNOWN AS HERCULES TECHNOLOGY GROWTH CAPITAL, INC.)
To: ACTIFIO, INC.
Reel/Frame 042415/0395 →
RELEASE OF SECURITY INTEREST Recorded May 5, 2017
From: SILICON VALLEY BANK
To: ACTIFIO, INC.
Reel/Frame 042415/0317 →
SECURITY AGREEMENT Recorded Jul 16, 2015
From: ACTIFIO, INC.
To: SILICON VALLEY BANK
Reel/Frame 036113/0970 →
SECURITY INTEREST Recorded Jul 14, 2015
From: ACTIFIO, INC.
To: HERCULES TECHNOLOGY GROWTH CAPITAL, INC., AS AGENT
Reel/Frame 036106/0004 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 11, 2011
From: PROVENZANO, CHRISTOPHER A.
To: ACTIFIO, INC.
Reel/Frame 025618/0726 →