IP Library Granted Patent US 10,545,990
Granted Patent B2
US 10,545,990 · App. 15/086,361 · Granted Jan 28, 2020

Replication between heterogeneous storage systems

Inventors: Xianbo Zhang (Plymouth, MN); Weibao Wu (Vadnais Heights, MN); Timothy Stevens (Andover, MN); Shuangmin Zhang (Beijing, CN)
Assignee: Veritas Technologies LLC
G06F16/27G06F11/1464H04L67/1095G06F2201/84
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,545,990
App. No.
15/086,361
Granted
Jan 28, 2020
Kind
B2
Abstract

Disclosed herein are systems, methods, and processes to perform replication between heterogeneous storage systems. Information associated with a backup stream is recorded during a backup operation by a source server and includes instructions. The instructions include an include instruction to include existing data and a write instruction to write new data during a replication operation. A request to perform the replication operation is received. In response to the request, the information is sent to a target server as part of performing the replication operation.

Claims (105)

1. A method comprising:

prior to receiving a request to perform a replication operation, recording information during performance of a backup operation, wherein

the information is associated with a backup stream,

the information is recorded by a source server,

the information comprises a plurality of instructions, and

the plurality of instructions comprise an include instruction to include existing data and a write instruction to write new data, during performance of a replication operation;

subsequent to recording the information, receiving the request to perform the replication operation;

upon receiving the request to perform the replication operation, generating a replication stream comprising the new data, wherein

the replication stream and the backup stream share a common format, and

the common format is facilitated by a plug-in implementing a protocol-independent Application Programming Interface (API); and

subsequent to generating the replication stream, sending the information to a target server as part of performing the replication operation, wherein

the source server uses a first protocol to store data,

the target server uses a second protocol to store data,

the first protocol is different from the second protocol, and

the information further comprises

first instructions to include, at a first offset range in the replication stream, the existing data from a replicated backup image, and

second instructions to include, at a second offset range in the replication stream, the new data to be written to the replicated backup image from a source backup image.

2. The method of claim 1 , wherein

the existing data is comprised in the replicated backup image,

the replicated backup image is stored by the target server,

the new data and the information are comprised in the source backup image, and

the source backup image is stored by the source server as part of the backup operation.

3. The method of claim 2 , further comprising:

further upon receiving the request to perform the replication operation,

accessing the replicated backup image,

comparing the replicated backup image and the information, and

sending the replication stream to the target server.

4. The method of claim 2 , wherein

the source server implements a source storage device,

the source storage device stores the backup stream and the information,

the target server implements a target storage device,

the target storage device stores the replicated backup image, and

the source storage device and the target storage device are heterogeneous.

5. The method of claim 1 , further comprising:

updating the information during performance of one or more subsequent backup operations.

6. A non-transitory computer readable storage medium comprising program instructions executable to perform a method comprising:

prior to receiving a request to perform a replication operation, recording information during performance of a backup operation, wherein

the information is associated with a backup stream,

the information is recorded by a source server,

the information comprises a plurality of instructions, and

the plurality of instructions comprise an include instruction to include existing data and a write instruction to write new data, during performance of a replication operation;

subsequent to recording the information, receiving the request to perform the replication operation;

upon receiving the request to perform the replication operation, generating a replication stream comprising the new data, wherein

the replication stream and the backup stream share a common format, and

the common format is facilitated by a plug-in implementing a protocol-independent Application Programming Interface (API); and

subsequent to generating the replication stream, sending the information to a target server as part of performing the replication operation, wherein

the source server uses a first protocol to store data,

the target server uses a second protocol to store data,

the first protocol is different from the second protocol, and

the information further comprises

first instructions to include, at a first offset range in the replication stream, the existing data from a replicated backup image, and

second instructions to include, at a second offset range in the replication stream, the new data to be written to the replicated backup image from a source backup image.

7. The non-transitory computer readable storage medium of claim 6 , wherein

the existing data is comprised in the replicated backup image,

the replicated backup image is stored by the target server,

the new data and the information are comprised in the source backup image, and

the source backup image is stored by the source server as part of the backup operation.

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

further upon receiving the request to perform the replication operation,

accessing the replicated backup image,

comparing the replicated backup image and the information,

and

sending the replication stream to the target server.

9. The non-transitory computer readable storage medium of claim 7 , wherein

the source server implements a source storage device,

the source storage device stores the backup stream and the information,

the target server implements a target storage device,

the target storage device stores the replicated backup image,

the source storage device and the target storage device are heterogeneous.

10. A system comprising:

one or more processors; and

a memory coupled to the one or more processors, wherein the memory stores program instructions executable by the one or more processors to perform a method comprising:

prior to receiving a request to perform a replication operation, recording information during performance of a backup operation, wherein

the information is associated with a backup stream,

the information is recorded by a source server,

the information comprises a plurality of instructions, and

the plurality of instructions comprise an include instruction to include existing data and a write instruction to write new data, during performance of a replication operation;

subsequent to recording the information, receiving the request to perform the replication operation;

upon receiving the request to perform the replication operation, generating a replication stream comprising the new data, wherein

the replication stream and the backup stream share a common format, and

the common format is facilitated by a plug-in implementing a protocol-independent Application Programming Interface (API); and

subsequent to generating the replication stream, sending the information to a target server as part of performing the replication operation, wherein

the source server uses a first protocol to store data,

the target server uses a second protocol to store data,

the first protocol is different from the second protocol, and

the information further comprises

first instructions to include, at a first offset range in the replication stream, the existing data from a replicated backup image, and

second instructions to include, at a second offset range in the replication stream, the new data to be written to the replicated backup image from a source backup image.

11. The system of claim 10 , wherein

the existing data is comprised in the replicated backup image,

the replicated backup image is stored by the target server,

the new data and the information are comprised in the source backup image, and

the source backup image is stored by the source server as part of the backup operation.

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

further upon receiving the request to perform the replication operation,

accessing the replicated backup image,

comparing the replicated backup image and the information,

and

sending the replication stream to the target server.

13. The system of claim 11 , wherein

the source server implements a source storage device,

the source storage device stores the backup stream and the information,

the target server implements a target storage device,

the target storage device stores the replicated backup image,

the source storage device and the target storage device are heterogeneous.

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 069632/0613 →
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 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 Recorded Nov 23, 2016
From: VERITAS TECHNOLOGIES LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 040679/0466 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 22, 2016
From: ZHANG, XIANBO; WU, WEIBAO; STEVENS, TIMOTHY; ZHANG, SHUANGMIN
To: VERITAS TECHNOLOGIES LLC
Reel/Frame 040400/0738 →
Continuity (1)
Related Publication 20170286512A1 · Oct 5, 2017