IP Library Granted Patent US 9,031,913
Granted Patent B1
US 9,031,913 · App. 13/338,808 · Granted May 12, 2015

File replication

Inventor: Assaf Natanzon (Tel Aviv, IL)
Assignee: EMC Corporation
G06F17/30212
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 9,031,913
App. No.
13/338,808
Filed
Dec 28, 2011
Granted
May 12, 2015
Kind
B1
Art Unit
2159
USPC
707/648
Abstract

A method, system, and computer program product for use in replication comprising intercepting an IO for a file at an application layer at the production site, determining if the file is being replicated, and based on a determination the file is being replicated, sending the IO to a first data recovery appliance and recording the IO in a journal.

Claims (96)

1. A computer program product for use in replication comprising:

a non-transitory computer readable medium encoded with computer executable program code for replication of data, the code configured to enable the execution of:

intercepting an Input/Output (IO) for a file at an application layer at the production site at a splitter;

determining at the splitter if the IO corresponds to a file that is being replicated including examining the IO for a file ID; and

based on a determination the file is being replicated, sending the IO to a first data recovery appliance (DPA);

recording the IO corresponding to the file in a journal;

determining that the IO is a command to increase a file size; and

determining if the increased data is known; and

based on a negative determination, pausing replication and marking the unknown area in a delta marker stream and resuming replication and re-synchronizing the data.

2. The computer program product of claim 1 wherein the file ID is located in a SCSI command of the IO and where the code is further enabled for execution of:

sending the IO from the first data recovery appliance to a second data recovery appliance; and

sending the IO to a target on the production site.

3. The code of claim 1 further enabled for execution of:

reading the IO from the journal; and

creating an UNDO for the IO; and

applying the data to the file.

4. The code of claim 3 further enabled for execution of:

determining that the IO is a command to create a file;

adding the file to a consistency group;

notifying the splitter to split the IO for the file; and

creating the file at the replication site.

5. The code of claim 3 further enabled for execution of:

determining that the IO is a command to delete a file;

copying the data in the file to an undo journal;

adding a create file to the undo journal; and

deleting the file.

6. The code of claim 3 further enabled for execution of:

determining that the IO is a command to delete a file;

moving the file to a temporary directory; and

noting moved file's temporary location in the undo journal.

7. The code of claim 6 further enabled for execution of:

freeing data from the undo journal based on the undo journal being full and based on the temporary directory being full.

8. The code of claim 7 further enabled for execution of:

deleting files from the temporary directory based on the deletion of pointers to the file from the undo journal.

9. The code of claim 3 further enabled for execution of:

determining that the IO is a command to decrease a file size;

noting the file size should be increased to the original in the undo;

moving decreased data into the undo journal, and decreasing the file size.

10. The code of claim 1 wherein the DPA is a virtual machine.

11. The code of claim 1 further enabling for execution of:

tracking changes made to a replicated file;

if replication of the file stops due to a problem, reading the changes made during the problem at the DPA and sending the changes to a second DPA.

12. A computer implemented method comprising:

intercepting an IO for a file at a splitter at an application layer at the production site;

determining at the splitter if the file is being replicated including examining the IO for a file ID;

based on a determination the file is being replicated, sending the IO to a first data recovery

appliance (DPA) and recording the IO corresponding to the file in a journal;

determining that the IO is a command to increase a file size; and

determining if the increased data is known; and

based on a negative determination, pausing replication and marking the unknown area in a delta marker stream and resuming replication and re-synchronizing the data.

13. The method of claim 12 wherein the file ID is located in a SCSI command of the IO and wherein the method further comprises:

sending the IO from the first data recovery appliance to a second data recovery appliance:

and send the IO to a target on the production site.

14. The method of claim 12 further comprising:

reading the IO from the journal; and

creating an UNDO for the IO; and applying the data to the file.

15. The method of claim 14 further comprising:

determining that the IO is a command to create a file;

adding the file to a consistency group;

notifying the splitter to split the IO for the file; and

creating the file at the replication site.

16. The method of claim 14 further comprising:

determining that the IO is a command to delete a file;

copying the data in the file to an undo journal;

adding a create file to the undo journal; and

deleting the file.

17. The method claim 12 wherein the DPA is a virtual machine.

18. The system of claim 17 wherein the DPA is a virtual machine.

19. A system for data protection, the system comprising:

a production site, the production site comprising a logical storage medium;

a replication site, the replication site comprising a logical storage medium;

a first data protection appliance; and

computer-executable logic operating in memory, wherein the computer-executable program logic is configured for execution of:

intercepting an IO for a file at a splitter at an application layer at the production site;

determining at the splitter if the file is being replicated including examining the IO for a file ID;

based on a determination the file is being replicated, sending the IO to a the data recovery appliance (DPA) and recording the IO corresponding to the file in a journal;

determining that the IO is a command to increase a file size; and

determining if the increased data is known; and

based on a negative determination, pausing replication and marking the unknown area in a delta marker stream and resuming replication and re-synchronizing the data.

20. The system of claim 19 wherein the file ID is located in a SCSI command of the IO and wherein the computer executable logic is further configured for execution of:

sending the IO from the first data recovery appliance to a second data recovery appliance; and

send the IO to a target on the production site.

21. The system of claim 19 wherein the computer executable logic is further configured for execution of:

reading the IO from the journal; and

creating an UNDO for the IO; and

applying the data to the file.

22. The system of claim 21 wherein the computer executable logic is further configured for execution of:

determining that the IO is a command to create a file;

adding the file to a consistency group;

notifying the splitter to split the IO for the file; and

creating the file at the replication site.

23. The system of claim 21 wherein the computer executable logic is further configured for execution of:

determining that the IO is a command to delete a file;

copying the data in the file to an undo journal;

adding a create file to the undo journal; and

deleting the file.

Assignments (11)
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 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 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 Jul 22, 2013
From: EMC INTERNATIONAL COMPANY
To: EMC CORPORATION
Reel/Frame 030847/0412 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2013
From: NATANZON, ASSAF
To: EMC INTERNATIONAL COMPANY
Reel/Frame 030479/0841 →