IP Library Granted Patent US 10,705,924
Granted Patent B1
US 10,705,924 · App. 16/212,584 · Granted Jul 7, 2020

Systems and methods for replicating information with information retention systems

Inventors: Vishal Thakur (Pune, IN); Rushikesh Patil (Pune, IN); Sunil Hasbe (Shirur Anantpal, IN)
Assignee: Veritas Technologies LLC
G06F11/1464G06F9/45558G06F9/546G06F11/1484G06F16/27G06F2009/45562G06F2201/815G06F2209/548
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 10,705,924
App. No.
16/212,584
Granted
Jul 7, 2020
Kind
B1
Abstract

The disclosed computer-implemented method for replicating information with information retention systems may include (1) queueing information communicated between a virtual machine and a source storage device, (2) initiating creating a clone of the virtual machine, (3) sending update information sets, (4) inserting a flush marker into a network queue, (5) stopping the queueing of the information communicated between the virtual machine and the source storage device, (6) sending, after sending the update information sets, the flush marker via a source replication gateway to the target server computing device, (7) pausing replication of the source storage device, (8) resuming replication of the source storage device responsive to completing creating the clone of the virtual machine, and (9) sending, to the target server computing device, additional information communicated between the virtual machine and the source storage device after stopping the queueing. Various other methods, systems, and computer readable media are also disclosed.

Claims (60)

1. A computer-implemented method for replicating information with information retention systems, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

queueing, by a filter driver at the source server computing device and until a clone of a virtual machine is created, information communicated between the virtual machine and a source storage device;

initiating creating the clone of the virtual machine on the source server computing device;

sending, via a source replication gateway and to a target server computing device, update information sets comprising the information communicated between the virtual machine and the source storage device prior to initiating the queueing;

inserting a flush marker into a network queue after the last update information set;

stopping, when the flush marker is inserted into the network queue, the queueing of the information communicated between the virtual machine and the source storage device;

sending, after sending the update information sets, the flush marker via the source replication gateway to the target server computing device;

pausing replication of the source storage device;

resuming replication of the source storage device in response to completing creating the clone of the virtual machine; and

sending, to the target server computing device, additional information communicated between the virtual machine and the source storage device after stopping the queueing.

2. The computer-implemented method of claim 1 , further comprising receiving an instruction initiating the cloning of the virtual machine.

3. The computer-implemented method of claim 2 , further comprising receiving, from a graphical user interface, the instruction initiating the cloning of the virtual machine.

4. The computer-implemented method of claim 1 , wherein the target server computing device is a cloud-based computing device.

5. The computer-implemented method of claim 1 , further comprising configuring the clone of the virtual machine to use a cloned target storage device coupled to the target server.

6. The computer-implemented method of claim 1 , further comprising:

recording, in a dirty region log, an indication the queued information communicated between the virtual machine and the source storage device has potentially changed; and

clearing, in response to sending the information communicated between the virtual machine and the source storage device after stopping the queueing, at least a portion of the dirty region log.

7. The computer-implemented method of claim 6 , further comprising storing the dirty region log on the source storage device.

8. The computer-implemented method of claim 1 , further comprising performing a security action comprising:

receiving stored information via the source replication gateway; and

writing the received information to the source storage device.

9. A system for replicating information with information retention systems, the system comprising:

a queueing module, stored in a memory, that queues, by a filter driver at a source server computing device and until a clone of a virtual machine is created, information communicated between the virtual machine and a source storage device;

an initiating module, stored in the memory, that initiates creating the clone of the virtual machine on the source server computing device;

a first sending module, stored in the memory, that sends, via a source replication gateway and to a target server computing device, update information sets comprising the information communicated between the virtual machine and the source storage device prior to initiating the queueing;

an inserting module, stored in the memory, that inserts a flush marker into a network queue after the last update information set;

a stopping module, stored in the memory, that stops, when the flush marker is inserted into the network queue, the queueing of the information communicated between the virtual machine and the source storage device;

a second sending module, stored in the memory, that sends, after sending the update information sets, the flush marker via the source replication gateway to the target server computing device;

a pausing module, stored in the memory, that pauses replication of the source storage device;

a resuming module, stored in the memory, that resumes replication of the source storage device in response to completing creating the clone of the virtual machine;

a third sending module, stored in the memory, that sends, to the target server computing device, additional information communicated between the virtual machine and the source storage device after stopping the queueing; and

at least one physical processor that executes the queuing module, the initiating module, the first sending module, the inserting module, the stopping module, the second sending module, the pausing module, the resuming module, and the third sending module.

10. The system of claim 9 , further comprising a receiving module, stored in the memory, that receives, from a graphical user interface, an instruction initiating the cloning of the virtual machine.

11. The system of claim 9 , wherein the target server computing device is a cloud-based computing device.

12. The system of claim 9 , further comprising a configuring module, stored in the memory, that configures the clone of the virtual machine to use a cloned target storage device coupled to the target server.

13. The system of claim 9 , further comprising:

a recording module, stored in the memory, that records, in a dirty region log, an indication the queued information communicated between the virtual machine and the source storage device has potentially changed; and

a clearing module, stored in the memory, that clears, in response to sending the information communicated between the virtual machine and the source storage device after stopping the queueing, at least a portion of the dirty region log.

14. The system of claim 9 , further comprising a performing module, stored in the memory, that performs a security action comprising:

receiving stored information via the source replication gateway; and

writing the received information to the source storage device.

15. A non-transitory computer-readable medium comprising one or more computer-executable instructions that, when executed by at least one processor of a source server computing device, cause the source server computing device to:

queue, by a filter driver at the source server computing device and until a clone of a virtual machine is created, information communicated between the virtual machine and a source storage device;

initiate creating the clone of the virtual machine on the source server computing device;

send, via a source replication gateway and to a target server computing device, update information sets comprising the information communicated between the virtual machine and the source storage device prior to initiating the queueing;

insert a flush marker into a network queue after the last update information set;

stop, when the flush marker is inserted into the network queue, the queueing of the information communicated between the virtual machine and the source storage device;

send, after sending the update information sets, the flush marker via the source replication gateway to the target server computing device;

pause replication of the source storage device;

resume replication of the source storage device in response to completing creating the clone of the virtual machine; and

send, to the target server computing device, additional information communicated between the virtual machine and the source storage device after stopping the queueing.

16. The non-transitory computer-readable medium of claim 15 , further comprising one or more computer-executable instructions that, when executed by at least one processor of a source server computing device, cause the source server computing device to receive, from a graphical user interface, an instruction initiating the cloning of the virtual machine.

17. The non-transitory computer-readable medium of claim 15 , wherein the target server computing device is a cloud-based computing device.

18. The non-transitory computer-readable medium of claim 15 , further comprising one or more computer-executable instructions that, when executed by at least one processor of a source server computing device, cause the source server computing device to configure the clone of the virtual machine to use a cloned target storage device coupled to the target server.

19. The non-transitory computer-readable medium of claim 15 , further comprising one or more computer-executable instructions that, when executed by at least one processor of a source server computing device, cause the source server computing device to:

record, in a dirty region log, an indication the queued information communicated between the virtual machine and the source storage device has potentially changed; and

clear, in response to sending the information communicated between the virtual machine and the source storage device after stopping the queueing, at least a portion of the dirty region log.

20. The non-transitory computer-readable medium of claim 15 , further comprising one or more computer-executable instructions that, when executed by at least one processor of a source server computing device, cause the source server computing device to perform a security action comprising:

receiving stored information via the source replication gateway; and

writing the received information to the source storage device.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2026
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 075377/0130 →
AMENDMENT NO. 1 TO PATENT SECURITY AGREEMENT Recorded Apr 8, 2025
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 070779/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2025
From: VERITAS TECHNOLOGIES LLC
To: COHESITY, INC.
Reel/Frame 070335/0013 →
RELEASE OF SECURITY INTEREST Recorded Dec 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069697/0238 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
ASSIGNMENT OF SECURITY INTEREST IN PATENT COLLATERAL Recorded Nov 25, 2024
From: BANK OF AMERICA, N.A., AS ASSIGNOR
To: ACQUIOM AGENCY SERVICES LLC, AS ASSIGNEE
Reel/Frame 069440/0084 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 052426/0001 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0565 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Apr 16, 2020
From: VERITAS TECHNOLOGIES, LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 052426/0001 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 18, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 052189/0311 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 6, 2018
From: THAKUR, VISHAL; PATIL, RUSHIKESH
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 047699/0378 →