IP Library Granted Patent US 9,251,198
Granted Patent B2
US 9,251,198 · App. 14/491,240 · Granted Feb 2, 2016

Data replication system

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 9,251,198
App. No.
14/491,240
Granted
Feb 2, 2016
Kind
B2
Abstract

Systems and methods are provided for an asynchronous data replication system in which the remote replication reduces bandwidth requirements by copying deduplicated differences in business data from a local storage site to a remote, backup storage site, the system comprising: a local performance storage pool for storing data; a local deduplicating storage pool for storing deduplicated data, said local deduplicating storage pool further storing metadata about data objects in the system and which has metadata analysis logic for identifying and specifying differences in a data object over time; a remote performance storage pool for storing a copy of said data, available for immediate use as a backup copy of said data to provide business continuity to said data; a remote deduplicating storage pool for storing deduplicated data; and a controller for synchronizing the remote performance storage pool to have the second version of the data object using deduplicated data.

Claims (50)

1. An asynchronous data replication system for providing a remote copy of data, in which remote replication is provided with reduced bandwidth requirements by copying deduplicated differences in business data from a storage site to a remote, backup storage site, the system comprising:

a deduplicating storage pool for storing deduplicated data, said deduplicating storage pool further storing metadata about data objects in the system and which has metadata analysis logic for identifying and specifying differences in a data object over time;

a remote performance storage pool for storing a copy of said data, available for immediate use as a backup copy of said data to provide business continuity to said data;

a controller configured to, in response to a remote replication command:

cause the deduplicating storage pool to identify and specify differences between a first version of a data object at a first instant in time and a second version of said data object at a second instant in time;

cause the specification of differences in the data object to be provided to a remote deduplicating storage pool for storing deduplicated data, said remote deduplicating storage pool being in communication with said deduplicating storage pool;

cause a second performance storage pool to retrieve any data specified in the differences specification that is not already stored at the remote deduplicating storage pool, and to provide the data retrieved by the second performance storage pool to the remote deduplicating storage pool; and

cause the remote deduplicating storage pool to provide a synchronized copy of said data to a remote performance storage pool for storing a copy of said data, available for immediate use as a backup copy of said data to provide business continuity to said data,

thereby synchronizing the remote performance storage pool to have the second version of the data object.

2. The system of claim 1 , wherein the remote performance storage pool is kept available for providing prompt access to the data object within a finite length of time, the length of time being independent of a size of the data and also of a latency of a data link between the storage site and the remote, backup storage site.

3. The system of claim 1 , wherein the controller is configured to provide one of synchronized, iterative, and pipelined replication.

4. The system of claim 1 , wherein the controller is configured to transfer operational control of the business data to the remote site, thereby providing failover capability.

5. The system of claim 1 , wherein the deduplicating storage pool and the remote deduplicating storage pool are each configured to create 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.

6. The system of claim 1 , further comprising the deduplicating storage pool being configured to identify and specify differences between a first version of a data object at a first instant in time and a second version of said data object at a second instant in time, and for causing the specification of differences in the data object to be provided to the remote deduplicating storage pool.

7. The system of claim 1 , wherein the controller is configured to:

cause a partial data fingerprint to be generated using a fingerprinting function at the deduplicating storage pool;

cause the partial data fingerprint to be received at the remote deduplicating storage pool; and

cause the partial data fingerprint to be compared with an independently-generated fingerprint generated from the data object at the remote deduplicating storage pool, the independently-generated fingerprint reflecting byte regions sparsely sampled from throughout the data object and thereby efficiently providing an indication of the contents of the data object, so that comparing data fingerprints for two data objects can determine if the data objects are different without requiring hashing of all bytes in the two compared data objects.

8. A computerized method for providing a remote copy of data, in which remote replication is provided with reduced bandwidth requirements by copying deduplicated differences in business data from a storage site to a remote, backup storage site, the method comprising:

storing, by a deduplicating storage pool, deduplicated data, said deduplicating storage pool further storing metadata about data objects in the system and which has metadata analysis logic for identifying and specifying differences in a data object over time;

storing, by a remote performance storage pool, a copy of said data available for immediate use as a backup copy of said data to provide business continuity to said data;

causing, by a controller, in response to a remote replication command:

the deduplicating storage pool to identify and specify differences between a first version of a data object at a first instant in time and a second version of said data object at a second instant in time;

the specification of differences in the data object to be provided to a remote deduplicating storage pool for storing deduplicated data, said remote deduplicating storage pool being in communication with said deduplicating storage pool;

a second performance storage pool to retrieve any data specified in the differences specification that is not already stored at the remote deduplicating storage pool, and to provide the data retrieved by the second performance storage pool to the remote deduplicating storage pool; and

the remote deduplicating storage pool to provide a synchronized copy of said data to a remote performance storage pool for storing a copy of said data, available for immediate use as a backup copy of said data to provide business continuity to said data,

thereby synchronizing the remote performance storage pool to have the second version of the data object.

9. The method of claim 8 , further comprising keeping the remote performance storage pool available for providing prompt access to the data object within a finite length of time, the length of time being independent of a size of the data and also of a latency of a data link between the storage site and the remote, backup storage site.

10. The method of claim 8 , wherein the controller provides one of synchronized, iterative, and pipelined replication.

11. The method of claim 8 , wherein the controller transfers operational control of the business data to the remote site, thereby providing failover capability.

12. The method of claim 8 , wherein the deduplicating storage pool and the remote deduplicating storage pool each create 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.

13. The method of claim 8 , further comprising the deduplicating storage pool identifying and specifying differences between a first version of a data object at a first instant in time and a second version of said data object at a second instant in time, and causing the specification of differences in the data object to be provided to the remote deduplicating storage pool.

14. The method of claim 8 , wherein the controller:

causes a partial data fingerprint to be generated using a fingerprinting function at the deduplicating storage pool;

causes the partial data fingerprint to be received at the remote deduplicating storage pool; and

causes the partial data fingerprint to be compared with an independently-generated fingerprint generated from the data object at the remote deduplicating storage pool, the independently-generated fingerprint reflecting byte regions sparsely sampled from throughout the data object and thereby efficiently providing an indication of the contents of the data object, so that comparing data fingerprints for two data objects can determine if the data objects are different without requiring hashing of all bytes in the two compared data objects.

15. A non-transitory computer readable medium having executable instructions operable to cause an apparatus to:

store, by a deduplicating storage pool, deduplicated data, said deduplicating storage pool further storing metadata about data objects in the system and which has metadata analysis logic for identifying and specifying differences in a data object over time;

store, by a remote performance storage pool, a copy of said data available for immediate use as a backup copy of said data to provide business continuity to said data;

cause, by a controller, in response to a remote replication command:

the deduplicating storage pool to identify and specify differences between a first version of a data object at a first instant in time and a second version of said data object at a second instant in time;

the specification of differences in the data object to be provided to a remote deduplicating storage pool for storing deduplicated data, said remote deduplicating storage pool being in communication with said deduplicating storage pool;

a second performance storage pool to retrieve any data specified in the differences specification that is not already stored at the remote deduplicating storage pool, and to provide the data retrieved by the second performance storage pool to the remote deduplicating storage pool; and

the remote deduplicating storage pool to provide a synchronized copy of said data to a remote performance storage pool for storing a copy of said data, available for immediate use as a backup copy of said data to provide business continuity to said data,

thereby synchronizing the remote performance storage pool to have the second version of the data object.

16. The computer readable medium of claim 15 , wherein the instructions are further operable to cause the apparatus to keep the remote performance storage pool available for providing prompt access to the data object within a finite length of time, the length of time being independent of a size of the data and also of a latency of a data link between the storage site and the remote, backup storage site.

17. The computer readable medium of claim 15 , wherein the instructions are further operable to cause the controller to provide one of synchronized, iterative, and pipelined replication.

18. The computer readable medium of claim 15 , wherein the instructions are further operable to cause the controller to transfer operational control of the business data to the remote site, thereby providing failover capability.

19. The computer readable medium of claim 15 , wherein the instructions are further operable to cause the deduplicating storage pool and the remote deduplicating storage pool to each create 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.

20. The computer readable of claim 15 , wherein the instructions are further operable to cause the deduplicating storage pool to identify and specify differences between a first version of a data object at a first instant in time and a second version of said data object at a second instant in time, and causing the specification of differences in the data object to be provided to the remote deduplicating storage pool.

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 Mar 26, 2015
From: MUTALIK, MADHAV; PROVENZANO, CHRISTOPHER A.; ABERCROMBIE, PHILIP J.
To: ACTIFIO, INC.
Reel/Frame 035265/0941 →