IP Library Granted Patent US 10,185,758
Granted Patent B1
US 10,185,758 · App. 14/755,258 · Granted Jan 22, 2019

Direct to remote replication

Inventors: Lev Ayzenberg (Petach Tikva, IL); Asaf Natanzon (Tel Aviv, IL); Yael Golan (Holon, IL)
Assignee: EMC IP Holding Company LLC
G06F17/30581G06F13/122G06F15/17331G06F17/30309
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,185,758
App. No.
14/755,258
Filed
Jun 30, 2015
Granted
Jan 22, 2019
Kind
B1
Art Unit
2155
USPC
707/634
Abstract

A computer implemented method, a computer program product, and a system for replicating data comprising: intercepting the IO data to a volume at the splitter; sending the IO data intercepted at the splitter to the volume; sending metadata of the IO data to a production RPA from the splitter, wherein an acknowledgement is sent to the splitter indicating that the metadata was received by the production RPA; and sending IO data, metadata, and timestamp of IO data to a remote site from the splitter, wherein IO data is sent to the remote site after splitter receives acknowledge of production RPA receiving the IO data.

Claims (40)

1. A computer implemented method for replicating data, the method comprising:

intercepting, at a splitter of a storage system, input/output (IO) data sent from a host computer and directed to a production volume of the storage system, the splitter communicatively coupled to the host computer, the production volume, and a production Replication Protection Device (RPA), the production RPA tracking IOs received from the host computer in a delta marker stream through IO metadata obtained from the IO data;

forwarding, via the splitter, the intercepted IO data to the production volume;

sending, via the splitter, the IO metadata to the production RPA, the IO metadata including a volume ID, offset, and length;

receiving, at the splitter, an acknowledgement from the production RPA indicating that the IO metadata was received by the production RPA;

sending, via the splitter upon receiving the acknowledgement, the IO data, the IO metadata, and a timestamp of the IO data to a remote site; and

initializing a resynchronization mechanism, the resynchronization mechanism comprising reading data from dirty locations in the delta marker stream by the production RPA, attaching a timestamp to the data to synchronize the data, and sending the synchronized data to the remote site, wherein the dirty locations are locations marked in the delta marker stream.

2. The method of claim 1 , wherein sending the IO metadata of the IO data to the production RPA further comprises saving the metadata to the delta marker stream.

3. The method of claim 1 , wherein sending the IO metadata of the IO data to the production RPA further comprises responding with the timestamp of the IO data to the splitter.

4. The method of claim 1 , further comprising saving the IO data replicated to the remote site to a replica journal.

5. The method of claim 3 , wherein sending IO data, the IO metadata, and the timestamp of the IO data to the remote site further comprises a replica RPA in the remote site placing the IO data in order based on the timestamp of the IO data in a replica journal in the remote site.

6. The method of claim 5 , wherein IOs are flushed up to a timestamp only after all prior IOs have arrived at the remote site, and wherein IO metadata of IOs are erased once the IOs are flushed to the replica journal and the production volume.

7. The method of claim 1 , further comprising a resynchronization process of a location, wherein the resynchronization process of a location includes notifying the splitter of a location to be synchronized and a timestamp reading the data from production volume by the splitter and sending data and meta-data to a remote replication appliance (RPA) at the remote site.

8. A computer program product including a non-transitory computer readable storage medium having computer program code encoded thereon that when executed on a processor of a computer causes the computer to operate a computer system, the computer program product comprising program code enabling:

intercepting, at a splitter of a storage system, input/output (IO) data sent from a host system and directed to a volume of the storage system, the splitter communicatively coupled to the host system, the production volume, and a production Replication Protection Device (RPA), the production RPA tracking IOs received from the host system in a delta marker stream through IO metadata obtained from the IO data;

forwarding, via the splitter, the intercepted IO data to the production volume;

sending, via the splitter, the IO metadata to the production, the IO metadata including a volume ID, offset, and length;

receiving, at the splitter, an acknowledgement from the production RPA indicating that the IO metadata was received by the production RPA;

sending, via the splitter upon receiving the acknowledgement, the IO data, the IO metadata, and a timestamp of the IO data to a remote; and

initializing a resynchronization mechanism, the resynchronization mechanism comprising reading data from dirty locations in the delta marker stream by the production RPA, attaching a timestamp to the data to synchronize the data, and sending the synchronized data to the remote site, wherein the dirty locations are locations marked in the delta marker stream.

9. The computer program product of claim 8 , wherein sending the IO metadata of the IO data to the production RPA further comprises saving the metadata to the delta marker stream.

10. The computer program product of claim 8 , wherein sending the IO metadata of the IO data to the production RPA further comprises responding with the timestamp of the IO data to the splitter by the production RPA, and wherein sending the IO data, the IO metadata, and the timestamp of the IO data to the remote site further comprises a replica RPA in the remote site placing the IO data in order based on the timestamp of the IO data in a replica journal in the remote site.

11. The computer program product of claim 10 , wherein IOs are flushed up to a timestamp only after all prior IOs have arrived at the remote site, and wherein IO metadata of IOs are erased once the IOs are flushed to the replica journal and the production volume.

12. The computer program product of claim 8 , further comprising saving the IO data replicated to the remote site to a replica journal.

13. The computer program product of claim 8 , further comprising a resynchronization process of a location, wherein the resynchronization process of a location includes notifying the splitter of a location to be synchronized and a timestamp reading the data from production volume by the splitter and sending data and meta-data to a remote replication appliance (RPA) at the remote site.

14. A system for replicating data, the method comprising:

a storage system;

a host computer having a processor, the host computer communicatively coupled to the storage system; and

computer-executable program code operating in a memory communicatively coupled to the processor, wherein the computer-executable program code is configured to enable the host computer to execute the following:

intercepting, at a splitter of the storage system, input/output (IO) data sent from the host computer and directed to a production volume of the storage system, the splitter communicatively coupled to the host computer, the production volume, and a production Replication Protection Device (RPA), the production RPA tracking IOs received from the host computer in a delta marker stream through IP metadata obtained from the IO data;

forwarding, via the splitter, the intercepted IO data to the production volume;

sending, via the splitter, the IO metadata to the production RPA, the IO metadata including a volume ID, offset, and length;

receiving, at the splitter, an acknowledgement from the production RPA indicating that the metadata was received by the production RPA;

sending, via the splitter upon receiving the acknowledgement, the IO data, the IO metadata, and a timestamp of the IO data to a remote site; and

initializing a resynchronization mechanism, the resynchronization mechanism comprising reading data from dirty locations in the delta marker stream by the production RPA, attaching a timestamp to the data to synchronize the data, and sending the synchronized data to the remote site, wherein the dirty locations are locations marked in the delta marker stream.

15. The system of claim 14 , wherein sending the IO metadata of the IO data to the production RPA further comprises saving the metadata to the delta marker stream.

16. The system of claim 14 , wherein sending the IO metadata of the IO data to the production RPA further comprises responding with the timestamp of the IO data to the splitter by the production RPA, and wherein sending the IO data, the IO metadata, and the timestamp of the IO data to the remote site further comprises a replica RPA in the remote site placing the IO data in order based on the timestamp of the IO data in a replica journal in the remote site.

17. The system of claim 16 , wherein IOs are flushed up to a timestamp only after all prior IOs have arrived at the remote site, and wherein IO metadata of IOs are erased once the IOs are flushed to the replica journal and the production volume.

18. The system of claim 14 , further comprising saving the IO data replicated to the remote site to a replica journal.

19. The system of claim 14 , further comprising resynchronization process of a location, wherein the resynchronization process of a location includes notifying the splitter of a location to be synchronized and a timestamp reading the data from production volume by the splitter and sending data and meta-data to a remote replication appliance (RPA) at the remote site.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 17, 2015
From: AYZENBERG, LEV; NATANZON, ASAF; GOLAN, YAEL
To: EMC CORPORATION
Reel/Frame 036630/0611 →
Cited By (1)
US 12,210,544