IP Library Granted Patent US 11,360,685
Granted Patent B2
US 11,360,685 · App. 16/903,002 · Granted Jun 14, 2022

Data consistency during reverse replication

Inventors: Sunil Hasbe (Shirur Anantpal, IN); Rushikesh Patil (Maharashtra, IN)
Assignee: VERITAS TECHNOLOGIES LLC
G06F3/0647G06F3/067G06F3/0619G06F11/1464G06F11/1469G06F2201/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,360,685
App. No.
16/903,002
Granted
Jun 14, 2022
Kind
B2
Abstract

Disclosed herein are methods, systems, and processes to provide and maintain data consistency during reverse replication. It is determined that a migrate operation or a reverse replication operation has been requested. Upon determining that the migrate operation or the reverse replication operation has been requested, a resynchronization identifier is set in a dirty region log (DRL) associated with a computing device that is subject to the migrate operation or the reverse replication operation. In response to the operation being the reverse replication operation, a master boot record (MBR) sector of a boot disk associated with the computing device is overwritten.

Claims (116)

1. A computer-implemented method comprising:

determining whether a resynchronization operation is to be performed, wherein

the resynchronization operation is between a source data mover at a secondary site and a target data mover a primary site; and

in response to a determination that the resynchronization operation is to be performed,

prior to the resynchronization operation being performed,

preventing a computing device at the primary site from booting from a boot disk of the computing device, and

after the computing device has been prevented from booting from the boot disk, performing the resynchronization operation, which comprises

receiving one or more write operations at the target data mover, wherein

the resynchronization operation comprises the receiving the one or more write operations,

storing the one or more write operations in an update set, and

upon completion of the resynchronization operation, writing the update set to a physical storage device, wherein

the writing the update set to a portion of the physical storage device results in the one or more write operations being applied to a portion of a storage device of the computing device.

2. The computer-implemented method of claim 1 , further comprising, in response to the determination that the resynchronization operation is to be performed:

overwriting the portion of the storage device.

3. The computer-implemented method of claim 2 , wherein

the overwriting the portion of the physical storage device is performed prior to the resynchronization operation being performed.

4. The computer-implemented method of claim 2 , wherein

a resynchronization identifier was configured as part of a migration operation,

the resynchronization identifier was configured prior to the determining.

5. The computer-implemented method of claim 4 , wherein

the resynchronization identifier is a resynchronization flag,

the resynchronization flag was set as part of the migration operation,

the portion of the storage device is a boot area, and

the resynchronization flag being set permits a filter driver executed by the computing device to determine whether the computing device is booting while the resynchronization operation is ongoing.

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

determining whether the resynchronization flag indicates that the resynchronization operation is ongoing; and

in response to a determination that the resynchronization flag indicates that the resynchronization operation is ongoing,

blocking at least one write operation executed by an application executed by the computing device, and

resetting an operating system of the computing device by performing the overwriting the boot area, wherein

the blocking and the resetting are performed by the filter driver.

7. The computer-implemented method of claim 5 , further comprising:

determining whether a failback operation has been requested, wherein

the resynchronization identifier is a resynchronization flag,

the resynchronization flag was set as part of the migration operation,

the storage device is the boot disk, and

the portion is the boot area; and

in response to a determination that the failback operation has been requested,

resetting the resynchronization flag, and

restoring the boot area on the boot disk by performing the writing the update set.

8. The computer-implemented method of claim 7 , further comprising:

after the boot area is restored, rebooting the computing device using information stored in the boot area.

9. The computer-implemented method of claim 2 , wherein

the portion of the storage device is a boot area, and

the overwriting the boot area inhibits the computing device from booting using the boot area.

10. The computer-implemented method of claim 2 , further comprising, in response to the determination that the resynchronization operation is to be performed:

prior to the resynchronization operation being performed, downloading a bootable image from a boot server,

booting the computing device using the bootable image,

exporting the storage device, wherein

the exporting allows the target data mover to connect to the storage device, and

connecting to the storage device, wherein

the connecting is performed by the target data mover.

11. The computer-implemented method of claim 2 , wherein

the write operations are applied to the portion of the physical storage device by an applier of the target data mover.

12. The computer-implemented method of claim 11 , wherein

the applier maintains the one or more write operations by performing the storing the one or more write operations in the update set, and

the update set is maintained during the resynchronization operation.

13. The computer-implemented method of claim 1 , wherein

the storage device is a physical storage device or a virtual storage device, and

the computing device is one of a physical computing device or a virtual machine that does not have access to a hypervisor.

14. A non-transitory computer-readable storage medium, comprising program instructions, which, when executed by one or more processors of a computing system, perform a method comprising:

determining whether a resynchronization operation is to be performed, wherein

the resynchronization operation is between a source data mover at a secondary site and a target data mover a primary site; and

in response to a determination that the resynchronization operation is to be performed,

prior to the resynchronization operation being performed,

preventing a computing device at the primary site from booting from a boot disk of the computing device, and

after the computing device has been prevented from booting from the boot disk, performing the resynchronization operation, which comprises

receiving one or more write operations at the target data mover, wherein

the resynchronization operation comprises the receiving the one or more write operations,

storing the one or more write operations in an update set, and

upon completion of the resynchronization operation, writing the update set to a physical storage device, wherein

the writing the update set to a portion of the physical storage device results in the one or more write operations being applied to a portion of a storage device of the computing device.

15. The non-transitory computer-readable storage medium of claim 14 , wherein the method further comprises:

in further response to the determination that the resynchronization operation is to be performed, overwriting the portion of the storage device.

16. The non-transitory computer-readable storage medium of claim 15 , wherein

a resynchronization flag was set as part of a migration operation,

the portion of the storage device is a boot area, and

the resynchronization flag being set permits a filter driver executed by the computing device to determine whether the computing device is booting while the resynchronization operation is ongoing.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the method further comprises:

determining whether the resynchronization flag indicates that the resynchronization operation is ongoing; and

in response to a determination that the resynchronization flag indicates that the resynchronization operation is ongoing,

blocking at least one write operation executed by an application executed by the computing device, and

resetting an operating system of the computing device by performing the overwriting the boot area, wherein

the blocking and the resetting are performed by the filter driver.

18. The non-transitory computer-readable storage medium of claim 16 , wherein the method further comprises:

determining whether a failback operation has been requested, wherein

a resynchronization identifier was configured as part of a migration operation,

the resynchronization identifier is a resynchronization flag,

the resynchronization flag was set as part of the migration operation,

the storage device is the boot disk, and

the portion is the boot area; and

in response to a determination that the failback operation has been requested,

resetting the resynchronization flag,

restoring the boot area on the boot disk by performing the writing the update set, and

after the boot area is restored, rebooting the computing device using information stored in the boot area.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the method further comprises:

in further response to the determination that the resynchronization operation is to be performed and prior to the resynchronization operation being performed,

downloading a bootable image from a boot server,

booting the computing device using the bootable image,

exporting the storage device, wherein

the exporting allows the target data mover to connect to the storage device, and

connecting to the storage device, wherein

the connecting is performed by the target data mover.

20. A computing system comprising:

one or more processors; and

a computer-readable storage medium coupled to the one or more processors, comprising program instructions, which, when executed by the one or more processors, perform a method comprising

determining whether a resynchronization operation is to be performed, wherein

the resynchronization operation is between a source data mover at a secondary site and a target data mover a primary site; and

in response to a determination that the resynchronization operation is to be performed,

prior to the resynchronization operation being performed,

preventing a computing device at the primary site from booting from a boot disk of the computing device, and

after the computing device has been prevented from booting from the boot disk, performing the resynchronization operation, which comprises

receiving one or more write operations at the target data mover, wherein

 the resynchronization operation comprises the receiving the one or more write operations,

storing the one or more write operations in an update set, and

upon completion of the resynchronization operation, writing the update set to a physical storage device, wherein

 the writing the update set to a portion of the physical storage device results in the one or more write operations being applied to a portion of a storage device of the computing device.

Assignments (8)
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: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069574/0958 →
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 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS AT R/F 053926/0320 Recorded Nov 30, 2020
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 054535/0418 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Sep 29, 2020
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 053926/0320 →
SECURITY INTEREST Recorded Aug 20, 2020
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 054370/0134 →