IP Library Granted Patent US 9,558,074
Granted Patent B2
US 9,558,074 · App. 13/157,937 · Granted Jan 31, 2017

Data replica control

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,558,074
App. No.
13/157,937
Granted
Jan 31, 2017
Kind
B2
Abstract

A replica control system includes software to control replication in virtual environments. The replica control system identifies a plurality of data blocks within an underlying storage volume in response to a request to update a replica of a target storage volume, identifies changed data blocks of the plurality of data blocks within the underlying storage volume, and identifies a subset of the changed data blocks with which to update the replica of the target storage volume based on a characteristic of the changed data blocks.

Claims (32)

1. One or more non-transitory computer-readable media having program instructions stored thereon that, when executed by a replica control system, direct the replica control system to:

in response to a request to update a replica of a target storage volume comprising a virtual drive, identify a plurality of data blocks within an underlying storage volume comprising the virtual drive;

identify changed data blocks of the plurality of data blocks within the underlying storage volume; and

identify a subset of the changed data blocks with which to update the replica of the target storage volume based on an allocation status of each of a plurality of data items within the virtual drive that correspond to the changed data blocks within the underlying storage volume and based on a similarity of each of the changed data blocks relative to other changed data blocks associated with another plurality of data blocks within another underlying storage volume.

2. The one or more non-transitory computer-readable media of claim 1 wherein the program instructions direct the replica control system to identify the changed data blocks of the plurality of data blocks within the underlying storage volume by processing a changed block list that is managed and/or maintained by a hypervisor in a virtual machine environment.

3. The one or more non-transitory computer-readable media of claim 1 wherein the program instructions direct the replica control system to identify the subset of the changed data blocks with which to update the replica of the target storage volume based also on a transient status of each of the changed data blocks.

4. The one or more non-transitory computer-readable media of claim 1 wherein the allocation status is obtained by reading file system metadata from a guest operating system on a virtual machine.

5. The one or more non-transitory computer-readable media of claim 1 wherein the similarity is based on an analysis of fingerprints of each of the changed data blocks and the other changed data blocks.

6. The one or more non-transitory computer-readable media of claim 5 wherein the programming instructions, when executed by the replica control system, further direct the replica control system to generate an instruction for delivery to a replica virtual machine environment, wherein the instruction indicates the similarity of one or more of the each of the changed data blocks relative to the other changed data blocks.

7. The one or more non-transitory computer-readable media of claim 1 the program instructions direct the replica control system to identify changed data blocks of the plurality of data blocks within the underlying storage volume by processing a changed block list that is generated and/or managed by any entity within a virtual machine.

8. The one or more non-transitory computer-readable media of claim 1 wherein the program instructions direct the replica control system to identify changed data blocks of the plurality of data blocks within the underlying storage volume by processing a changed block list that is generated and/or managed by replication software, continuous data protection software, or virtual disk change block tracking software.

9. A replica control system comprising:

a communication interface configured to receive a request to update a replica of a target storage volume, and transfer an identified subset of changed data blocks of a plurality of data blocks within an underlying storage volume; and

a processing system configured to identify the plurality of data blocks within the underlying storage volume in response to receiving the request to update the replica of the target storage volume, identify the changed data blocks of the plurality of data blocks within the underlying storage volume, and identify the subset of the changed data blocks with which to update the replica of the target storage volume based on an allocation status of each of a plurality of data items within the target storage volume that correspond to the changed data blocks within the underlying storage volume and based on a similarity of each of the changed data blocks relative to other changed data blocks associated with another plurality of data blocks within another underlying storage volume.

10. The replica control system of claim 9 wherein the subset of the changed data blocks with which to update the replica of the target storage volume is further based on a transient status of each of the changed data blocks.

11. The replica control system of claim 9 wherein the allocation status is obtained by reading file system metadata from a guest operating system on a virtual.

12. The replica control system of claim 9 wherein the similarity is based on an analysis of fingerprints of the changed data blocks and the other changed data blocks.

13. The replica control system of claim 12 wherein the processing system is further configured to direct the replica control system to generate an instruction for delivery to a replica virtual machine environment, wherein the instruction indicates the similarity of one or more of the each of the changed data blocks relative to the other changed data blocks.

14. The replica control system of claim 9 wherein the target storage volume comprises an enumeration of a virtual machine environment and the underlying storage volume comprises a virtual drive contained within the virtual machine environment.

15. The replica control system of claim 9 wherein the target storage volume comprises a virtual drive and the underlying storage volume comprises a hard disk drive upon which the virtual drive is stored.

16. The replica control system of claim 9 wherein the underlying storage volume comprises a virtual drive and the target storage volume comprises a virtual drive contained within the virtual drive.

17. A method comprising:

identifying a plurality of data blocks within an underlying storage volume comprising a virtual drive in response to a request to update a replica of a target storage volume comprising another virtual drive;

identifying changed data blocks of the plurality of data blocks within the underlying storage volume; and

identifying a subset of the changed data blocks with which to update the replica of the target storage volume based on an allocation status of each of a plurality of data items within the virtual drive that correspond to the changed data blocks within the underlying storage volume and based on a similarity of each of the changed data blocks relative to other changed data blocks associated with another plurality of data blocks within another underlying storage volume, wherein the allocation status is obtained by reading file system metadata from a guest operating system on a virtual machine.

18. One or more non-transitory computer-readable media having programming instructions stored thereon that, when executed by a replication system, direct the replication system to:

in response to a request to update a replica of a target storage volume comprising an enumeration of a virtual machine environment, identify a plurality of data blocks within an underlying storage volume, wherein the underlying storage volume comprises a virtual drive contained within the virtual machine environment;

identify changed data blocks of the plurality of data blocks within the underlying storage volume;

identify an allocated subset of the changed data blocks based on an allocation status of each of a plurality of data items within the virtual machine environment that correspond to the changed data blocks within the virtual drive, wherein the allocation status is obtained by reading file system metadata from a guest operating system on a virtual machine;

identify a non-transient subset of the allocated subset of the changed data blocks based on a transient status of each of the plurality of data items within the virtual machine environment that correspond to the changed data blocks within the virtual drive; and

identify a similarity subset of the transient subset of the changed data blocks with which to update the replica of the target storage volume based on a similarity of each of the changed data blocks in the non-transient subset relative to other changed data blocks, wherein the other changed data blocks are associated with another plurality of data blocks within another underlying storage volume.

19. The one or more non-transitory computer-readable media of claim 18 wherein the similarity is based on an analysis of fingerprints of the changed data blocks and the other changed data blocks.

Assignments (14)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 18, 2025
From: QUANTUM CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 074024/0084 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL/FRAME NO. 40473/0378 Recorded Oct 8, 2025
From: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 073061/0454 →
TERMINATION AND RELEASE OF AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL/FRAME NO. 48029/0525 Recorded Aug 19, 2025
From: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 072542/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2025
From: BLUE TORCH FINANCE LLC, AS AGENT FOR THE SECURED PARTIES
To: ALTER DOMUS (US) LLC, AS AGENT FOR THE SECURED PARTIES
Reel/Frame 071019/0850 →
RELEASE OF SECURITY INTEREST Recorded Aug 10, 2021
From: U.S. BANK NATIONAL ASSOCIATION
To: QUANTUM CORPORATION; QUANTUM LTO HOLDINGS, LLC
Reel/Frame 057142/0252 →
SECURITY INTEREST Recorded Aug 5, 2021
From: QUANTUM CORPORATION; QUANTUM LTO HOLDINGS, LLC
To: BLUE TORCH FINANCE LLC, AS AGENT
Reel/Frame 057107/0001 →
SECURITY INTEREST Recorded Jan 8, 2019
From: QUANTUM CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 048029/0525 →
RELEASE OF SECURITY INTEREST Recorded Dec 27, 2018
From: TCW ASSET MANAGEMENT COMPANY LLC, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 047988/0642 →
SECURITY INTEREST Recorded Dec 27, 2018
From: QUANTUM CORPORATION, AS GRANTOR; QUANTUM LTO HOLDINGS, LLC, AS GRANTOR
To: U.S. BANK NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 049153/0518 →
RELEASE OF SECURITY INTEREST Recorded Oct 25, 2016
From: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 040474/0079 →
SECURITY INTEREST Recorded Oct 25, 2016
From: QUANTUM CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 040473/0378 →
SECURITY INTEREST Recorded Oct 21, 2016
From: QUANTUM CORPORATION
To: TCW ASSET MANAGEMENT COMPANY LLC, AS AGENT
Reel/Frame 040451/0183 →
SECURITY AGREEMENT Recorded Mar 31, 2012
From: QUANTUM CORPORATION
To: WELLS FARGO CAPITAL FINANCE, LLC, AS AGENT
Reel/Frame 027967/0914 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 9, 2012
From: WADE, GREGORY L.; HAILE, J. MITCHELL
To: QUANTUM CORPORATION
Reel/Frame 027502/0015 →