IP Library Granted Patent US 10,185,583
Granted Patent B1
US 10,185,583 · App. 13/597,855 · Granted Jan 22, 2019

Leveraging snapshots

Inventors: Assaf Natanzon (Tel Aviv, IL); Saar Cohen (Mishmeret, IL)
Assignee: EMC IP Holding Company LLC
G06F9/45558G06F11/1484G06F17/30371G06F2201/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,185,583
App. No.
13/597,855
Filed
Aug 29, 2012
Granted
Jan 22, 2019
Kind
B1
Art Unit
2168
USPC
707/639
Abstract

A computer implemented method, computer program product, and system for continuous replication in a virtual environment comprising recovering, replication of, a volume on a first site after the crash of the first site, receiving, using an API, the differences between a previous point in time of the first volume and the current point in time of the first volume wherein the volume is being replicated to a second site, and using the determined differences to restore replication of the first volume of the replication site at the second site.

Claims (49)

1. A computer implemented method for continuous replication in a virtual environment comprising:

recovering by a computer system, replication of a first volume of a virtual machine running on a hypervisor on a first site to a second site after a crash of the hypervisor of the first site wherein, prior to the crash, the first volume is continuously being replicated to the second site;

determining by the computer system, using an API, differences between the first volume on the first site in its current state and a replication of the first volume from a previous point in time on the second site that corresponds to a point in time prior to the crash; wherein the determined differences represent changes to the first volume of the virtual machine running on the hypervisor of the first site that were lost at the time the hypervisor crashed and were not replicated to the second site; and

using by the computer system the determined differences, restoring replication of the first volume to the second site; wherein restoring replication includes bringing a replication of the first volume on the second site to be consistent with the current state of the first volume of the first site by applying the determined differences to the second site and setting further changes of the first volume to be sent to the second site.

2. The method of claim 1 wherein the previous point in time is a snapshot and the snapshot was created using an API.

3. The method of claim 2 further comprising:

synchronizing an image of the first volume and an image of the second site based on the determined differences.

4. The method of claim 2 wherein the snapshot is created using a VASA API.

5. The method of claim 2 further comprising: waiting for the snapshot to arrive at the second site.

6. The method of claim 5 further comprising:

creating a new snapshot, erasing a previous snapshot; and

renaming the new snapshot to be a previous snapshot.

7. The method of claim 1 further comprising:

adding the determined differences to a delta marking stream.

8. The method of claim 7 further comprising:

creating a new snapshot, erasing a previous snapshot; and

renaming the new snapshot to be a previous snapshot.

9. The method of claim 1 wherein the hypervisor of first site has a data replication appliance and wherein the data replication appliance stores changes to the first volume to be sent to the second site; wherein the crash of the hypervisor causes the data replication appliance to crash and lose stored changes to the first volume to be sent to the second site.

10. The method of claim 1 wherein the continuous replication of the first volume comprises a tracking process to track data blocks that are changed on the first volume but not replicated to the second site and wherein bringing a replication of the first volume on the second site to be consistent with the current state of the first volume comprises synchronizing the changed data blocks that were tracked as not being replicated to the second site.

11. 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, which when executed by one or more processors cause the one or more processors to perform a method comprising the steps of:

recovering, replication of a first volume of a virtual machine running on a hypervisor on a first site to a second site after a crash of the hypervisor of the first site wherein, prior to the crash, the first volume is continuously being replicated to the second site;

determining, using an API, the differences between the first volume on the first site in its current state and a replication of the first volume from a previous point in time on a second site that corresponds to a point in time prior to the crash; wherein the first volume is being replicated to the second site; wherein the determined differences represent changes to the first volume of the virtual machine running on the hypervisor of the first site that were lost at the time the hypervisor crashed and were not replicated to the second site; and

using the determined differences, restoring replication of the first volume to second site; wherein restoring replication includes brining a replication of the first volume on the second site to be consistent with the current state of the first volume of the first site by applying the determined differences to the second site and setting further changes of the first volume to be sent to the second site.

12. The computer program product of claim 11 wherein the previous point in time is a snapshot and the snapshot was created using an API.

13. The computer program product of claim 12 the code further configured to cause the execution of:

waiting for the snapshot to arrive at the second site.

14. The computer program product of claim 13 , the code further configured to cause the execution of:

creating a new snapshot, erasing the previous snapshot; and

renaming the new snapshot to be the previous snapshot.

15. The computer program product of claim 11 the code further configured to cause the execution of:

adding the determined differences to a delta marking stream.

16. The computer program product of claim 15 the code further configured to cause the execution of:

synchronizing an image of the first volume and an image of the second site based on the determined differences.

17. The computer program product of claim 16 the code further configured to cause the execution of:

creating a new snapshot, erasing the previous snapshot; and

renaming the new snapshot to be the previous snapshot.

18. A system for continuous replication in a virtual environment, the system comprising:

a first site;

an API;

a second site; and

a memory and one or more processors, and computer-executable logic stored in the memory, wherein the computer-executable program logic is programmed to be executed by the one or more processors to perform:

recovering, replication of a first volume of a virtual machine running on a hypervisor on the first site to the second site after a crash of the hypervisor of the first site wherein, prior to the crash, the first volume is continuously being replicated to the second site using a splitter;

determining, using the API, the differences between the first volume on the first site in its current state and a replication of the first volume from a previous point in time on the second site; wherein the determined differences represent changes to the first volume of the virtual machine running on the hypervisor of the first site that were lost at the time the hypervisor crashed and not replicated to the second site; and

using the determined differences, restoring replication of the first volume to second site; wherein restoring replication includes bringing a replication of the first volume on the second site to be consistent with the current state of the first volume of the first site by applying the determined differences to the second site and setting further changes of the first volume to be sent to the second site.

19. The system of claim 18 wherein the previous point in time is a snapshot and the snapshot was created using an API.

20. The system of claim 18 , the program logic further programmed to be executed by the one or more processors to perform-adding the determined differences to a delta marking stream.

21. The system of claim 18 , the program logic further programmed to be executed by the one or more processors to perform

synchronizing an image of the first volume and an image of the second site based on the determined differences.

Assignments (12)
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: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 7, 2016
From: NATANZON, ASSAF; BIGMAN, RON; LIEBERMAN, AMIT; PEER, ODED; SHEMER, JEHUDA; VAISMAN, YANA
To: EMC CORPORATION
Reel/Frame 037426/0585 →
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 Aug 29, 2012
From: NATANZON, ASSAF; COHEN, SAAR
To: EMC INTERNATIONAL COMPANY
Reel/Frame 028869/0679 →
Continuity (1)
Continuation In Part 13534042 · Jun 27, 2012
Cited By (1)
US 12,373,418