IP Library Granted Patent US 11,366,724
Granted Patent B2
US 11,366,724 · App. 17/161,765 · Granted Jun 21, 2022

Low cost, heterogeneous method of transforming replicated data for consumption in the cloud

Inventors: Pooja Sarda (Cupertino, CA); Anish A. Vaidya (San Jose, CA); Manjunath Mageswaran (Sunnyvale, CA)
Assignee: VERITAS TECHNOLOGIES LLC
G06F11/1464G06F11/1451H04L67/1095
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,366,724
App. No.
17/161,765
Granted
Jun 21, 2022
Kind
B2
Abstract

Disclosed are methods and the like that provide for transforming replicated data for consumption in the cloud, for example. Such methods can include attaching a target gateway node at a secondary site to a storage device at the secondary site, searching for an identifier stored in the storage device, and storing replicated data in the replication volume. The identifier is associated with an offset stored in the storage device, and the offset identifies a starting location of a replication volume in the storage device. The replicated data is received by the target gateway node from a source gateway node at a primary site. A starting location is received with the replicated data. The target gateway node stores the replicated data at a first location in the storage volume, and the first location is determined based, at least in part, on the starting location and the first storage location.

Claims (123)

1. A computer-implemented method comprising:

attaching a target gateway node at a secondary site to a storage device at the secondary site;

searching for an identifier stored in the storage device, wherein

the identifier is associated with an offset stored in the storage device,

the offset identifies a starting location of a replication storage volume in the storage device,

the replication storage volume is a contiguous storage volume created by a recovery application node detached from the storage device prior to the attaching of the target gateway node; and

storing replicated data in the replication storage volume, wherein

the replicated data is received by the target gateway node from a source gateway node at a primary site,

a first storage location is received with the replicated data,

the target gateway node stores the replicated data at a first location in the storage device, and

the first location is determined based, at least in part, on the starting location and the first storage location.

2. The method of claim 1 , further comprising:

creating the replication storage volume as a contiguous storage volume, wherein

the creating comprises

writing information to the storage device, and

the information comprises information regarding the starting location.

3. The method of claim 2 , wherein

the information further comprises the identifier.

4. The method of claim 3 , further comprising:

prior to creation of the replication storage volume,

provisioning the recovery application node, and

receiving the information at the target gateway node, wherein

the information is received from a source gateway node,

the information comprises

first data, and

the first storage location, and

the first storage location corresponds to a location of the first data in a first logical storage unit of a remote computing system.

5. The method of claim 2 , wherein

the target gateway node is configured to

receive the information from a source gateway node,

the information comprises

first data, and

the first storage location, and

the first storage location corresponds to a location of the first data in a first logical storage unit of a remote computing system communicatively coupled to the source gateway node.

6. The method of claim 5 , wherein

the storage device is a block storage device,

the first storage location comprises a first logical block number, and

the first location is determined based on the first logical block number and a first offset.

7. The method of claim 6 , further comprising:

receiving second information at the target gateway node, wherein

the second information comprises

second data, and

a logical block number corresponding to the first location; and

storing the second data in the block storage device, wherein

the storing the second data comprises overwriting the first data.

8. The method of claim 2 , further comprising:

prior to the recovery application node being detached from the storage device,

provisioning the recovery application node, wherein

the recovery application node is communicatively coupled to the target gateway node.

9. The method of claim 8 , further comprising:

subsequent to the recovery application node being detached from the storage device,

shutting down the recovery application node.

10. The method of claim 1 , further comprising:

receiving the replicated data at the target gateway node, wherein

the replicated data is received from a source gateway node.

11. The method of claim 10 , wherein the replicated data is received by the source gateway node from a computing device executing an application, and further comprising:

in response to detection of a failure of the application, performing a failover of the application, wherein

the performing the failover comprises

attaching the replication storage volume to another recovery application node, and

executing an instance of the application on the another recovery application node.

12. The method of claim 11 , wherein the performing the failover further comprises:

prior to attaching the replication storage volume to the another recovery application node,

detaching the replication storage volume from the target gateway node.

13. The method of claim 11 , wherein the replication storage volume is comprised in a volume group, and the performing the failover further comprises:

importing the volume group to the another recovery application node.

14. The method of claim 10 , further comprising:

capturing a write operation, wherein

the write operation writes data to a primary volume of a remote computing device, and

the remote computing device is communicatively coupled to the source gateway node;

determining a logical block number to which the write operation writes the data; and

transmitting the data and the logical block number to the target gateway node, wherein

the source gateway node performs the transmitting, and

the data is received by the target gateway node as the replicated data.

15. 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:

attaching a target gateway node at a secondary site to a storage device at the secondary site;

searching for an identifier stored in the storage device, wherein

the identifier is associated with an offset stored in the storage device,

the offset identifies a starting location of a replication storage volume in the storage device,

the replication storage volume is a contiguous storage volume created by a recovery application node detached from the storage device prior to the attaching of the target gateway node; and

storing replicated data in the replication storage volume, wherein

the replicated data is received by the target gateway node from a source gateway node at a primary site,

a first storage location is received with the replicated data,

the target gateway node stores the replicated data at a first location in the storage device, and

the first location is determined based, at least in part, on the starting location and the first storage location.

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

creating the replication storage volume as a contiguous storage volume, wherein

the creating comprises

writing information to the storage device, and

the information comprises

the starting location, and

the identifier.

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

the target gateway node is configured to

receive information from a source gateway node,

the information comprises

first data, and

the first storage location, and

the first storage location corresponds to a location of the first data in a first logical storage unit of a remote computing system communicatively coupled to the source gateway node.

18. The non-transitory computer-readable storage medium of claim 17 , wherein

the storage device is a block storage device,

the first storage location comprises a first logical block number, and

the first location is determined based on the first logical block number and a first offset.

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

receiving the replicated data at the target gateway node, wherein

the replicated data is received from a source gateway node, and

the replicated data is received by the source gateway node from a computing device executing an application; and

in response to detection of a failure of the application, performing a failover of the application, wherein

the performing the failover comprises

attaching the replication storage volume to another recovery application node, and

executing an instance of the application on the another recovery application node.

20. A computing system comprising:

one or more processors; and

a non-transitory 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

attaching a target gateway node at a secondary site to a storage device at the secondary site,

searching for an identifier stored in the storage device, wherein

the identifier is associated with an offset stored in the storage device,

the offset identifies a starting location of a replication storage volume in the storage device,

the replication storage volume is a contiguous storage volume created by a recovery application node detached from the storage device prior to the attaching of the target gateway node, and

storing replicated data in the replication storage volume, wherein

the replicated data is received by the target gateway node from a source gateway node at a primary site,

a first storage location is received with the replicated data,

the target gateway node stores the replicated data at a first location in the storage device, and

the first location is determined based, at least in part, on the starting location and the first storage location.

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 16, 2024
From: ACQUIOM AGENCY SERVICES LLC, AS COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069591/0510 →
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 069577/0001 →
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 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Mar 7, 2022
From: VERITAS TECHNOLOGIES LLC
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS NOTES COLLATERAL AGENT
Reel/Frame 059337/0159 →
PATENT SECURITY AGREEMENT SUPPLEMENT Recorded Feb 24, 2022
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A.
Reel/Frame 059247/0656 →
Continuity (3)
Continuation 16416387 · May 20, 2019
Continuation 14611233 · Jan 31, 2015
Related Publication 20210157679A1 · May 27, 2021
Cited By (1)
US 12,717,689