IP Library Granted Patent US 11,403,181
Granted Patent B2
US 11,403,181 · App. 16/778,462 · Granted Aug 2, 2022

Systems and methods for managing replication of data to a remote storage device

Inventors: Subash Rajaa (Pune, IN); Sunil Hasbe (Shirur Anantpal, IN); Anish Vaidya (Pleasanton, CA); Om Prakash Agarwal (Fremont, CA)
Assignee: Veritas Technologies LLC
G06F11/1451G06F11/1464G06F2201/805G06F2201/82
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 11,403,181
App. No.
16/778,462
Granted
Aug 2, 2022
Kind
B2
Abstract

The disclosed computer-implemented method for managing replication of data to a remote storage device may include (1) maintaining a first bitmap and a second bitmap storing data acknowledging persistence of target data, respectively, at source and target gateways, where the target gateway serves the remote storage device, (2) sending replication data from a computing device to the source gateway, (3) setting a bit in the first bitmap, where the set bit corresponds to the replication data sent to the source gateway, (4) receiving a first acknowledgement indicating the source gateway received the replication data, (5) copying, in response to the first acknowledgement, the bit to the second bitmap, (6) clearing, in response to the first acknowledgement, the bit in the first bitmap, and (7) receiving a second acknowledgement indicating the target gateway received the replication data. Various other methods, systems, and computer-readable media are also disclosed.

Claims (79)

1. A computer-implemented method for managing replication of data to a remote storage device, at least a portion of the method being performed by a computing device comprising at least one processor, the method comprising:

maintaining, on the computing device:

a first bitmap storing data acknowledging persistence of source data at a source gateway; and

a second bitmap storing data acknowledging persistence of target data at a target gateway, wherein:

the target gateway serves the remote storage device; and

the target gateway and the remote storage device are separate devices;

sending replication data in a replication stream from the computing device to the source gateway;

inserting a marker into the replication stream;

receiving, from the target gateway, a first acknowledgement of receipt of the marker after the replication data in the replication stream has been applied to the target device; and

clearing, in response to receiving the first acknowledgement of receipt of the marker, the first bitmap or the second bitmap.

2. The method of claim 1 , further comprising:

maintaining, on the computing device, a third bitmap storing data acknowledging persistence of source data at the source gateway;

switching from using the first bitmap to using the third bitmap prior to clearing the first bitmap; and

clearing the first bitmap.

3. The method of claim 2 , wherein an in/out tap (IOTAP) module manages the switching.

4. The method of claim 1 , further comprising:

maintaining, on the computing device, a third bitmap storing data acknowledging persistence of target data at a target gateway;

switching from using the second bitmap to using the third bitmap prior to clearing the second bitmap; and

clearing the second bitmap.

5. The method of claim 1 , further comprising:

maintaining, on the computing device, a third bitmap storing data acknowledging persistence of source data at the source gateway;

switching from using the third bitmap to using the first bitmap prior to clearing the third bitmap; and

clearing the third bitmap.

6. The method of claim 1 , further comprising:

maintaining, on the computing device, a third bitmap storing data acknowledging persistence of target data at a target gateway;

switching from using the third bitmap to using the second bitmap prior to clearing the third bitmap; and

clearing the third bitmap.

7. The method of claim 1 , further comprising determining a round-trip time of the marker and the first acknowledgement to identify a switching period between the first bitmap and the second bitmap.

8. The method of claim 7 , wherein the switching period is further determined by a recovery point objective time.

9. The method of claim 1 , further comprising:

receiving a second acknowledgement that all data in an off-line bitmap has been received by a respective gateway; and

transferring, in response to receiving the second acknowledgement, bits from the first bitmap to the second bitmap.

10. A system for managing replication of data to a remote storage device, the system comprising:

a memory device;

a maintaining module, stored in the memory device, that maintains, in the system:

a first bitmap storing data acknowledging persistence of source data at a source gateway; and

a second bitmap storing data acknowledging persistence of target data at a target gateway, wherein the target gateway serves the remote storage device,

wherein the target gateway and the remote storage device are separate devices;

a sending module, stored in the memory device, that:

sends replication data in a replication stream from the system to the source gateway; and

inserts a marker into the replication stream;

a receiving module, stored in the memory device, that receives a first acknowledgement from the target gateway, wherein the first acknowledgement acknowledges receipt of the marker after the replication data in the replication stream has been applied to the target device;

a clearing module, stored in the memory device and that clears, in response to receiving the first acknowledgement of receipt of the marker, the first bitmap or the second bitmap; and

at least one physical processor that executes the maintaining module, the receiving module, and the clearing module.

11. The system of claim 10 , wherein:

the maintaining module maintains a third bitmap storing data acknowledging persistence of source data at the source gateway;

the system is configured to switch from using the first bitmap to using the third bitmap prior to clearing the first bitmap; and

the clearing module clears the first bitmap.

12. The system of claim 11 , further comprising an in/out tap (IOTAP) module, stored in the memory device, that manages the switching.

13. The system of claim 10 , wherein:

the maintaining module maintains a third bitmap storing data acknowledging persistence of target data at a target gateway;

the system is configured to switch from using the second bitmap to using the third bitmap prior to clearing the second bitmap; and

the clearing module clears the second bitmap.

14. The system of claim 10 , wherein:

the maintaining module maintains a third bitmap storing data acknowledging persistence of source data at the source gateway;

the system is configured to switch from using the third bitmap to using the first bitmap prior to clearing the third bitmap; and

the clearing module clears the third bitmap.

15. The system of claim 10 , wherein:

the maintaining module maintains a third bitmap storing data acknowledging persistence of target data at a target gateway;

the system is configured to switch from using the third bitmap to using the second bitmap prior to clearing the third bitmap; and

the clearing module clears the third bitmap.

16. The system of claim 10 , wherein the sending module determines a round-trip time of the marker and the first acknowledgement to identify a switching period between the first bitmap and the second bitmap.

17. The system of claim 16 , wherein the sending module further determines switching period by a recovery point objective time.

18. The system of claim 10 , wherein:

the receiving module receives a second acknowledgement indicating all data in an off-line bitmap has been received by a respective gateway; and

the maintaining module transfers, in response to receiving the second acknowledgement, bits from the first bitmap to the second bitmap.

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

maintain a first bitmap storing data acknowledging persistence of source data at a source gateway;

maintain a second bitmap storing data acknowledging persistence of target data at a target gateway, wherein:

the target gateway serves the remote storage device; and

the target gateway and the remote storage device are separate devices;

send replication data in a replication stream from the computing device to the source gateway;

insert a marker into the replication stream;

receive, from the target gateway, a first acknowledgement of receipt of the marker after the replication data in the replication stream has been applied to the target device; and

clear, in response to receiving the first acknowledgement of receipt of the marker, the first bitmap or the second bitmap.

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

maintain a third bitmap storing data acknowledging persistence of source data at the source gateway;

switch from using the first bitmap to using the third bitmap prior to clearing the first bitmap; and

clear the first bitmap.

Assignments (10)
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 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069634/0584 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069574/0951 →
SECURITY INTEREST Recorded Dec 9, 2024
From: VERITAS TECHNOLOGIES LLC; COHESITY, INC.
To: JPMORGAN CHASE BANK. N.A.
Reel/Frame 069890/0001 →
TERMINATION AND RELESAE OF SECURITY INTEREST IN PATENTS AT R/F 053640/0780 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0492 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Aug 31, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 053640/0780 →
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 Jul 31, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 053373/0367 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 31, 2020
From: RAJAA, SUBASH; HASBE, SUNIL; VAIDYA, ANISH; AGARWAL, OM PRAKASH
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 051686/0098 →
Priority Claims (1)
IN 201721027617 · Aug 3, 2017 · national
Continuity (2)
Continuation 15719490 · Sep 28, 2017
Related Publication 20200167239A1 · May 28, 2020