IP Library › Granted Patent US 11,409,700
Granted Patent B2
US 11,409,700 · App. 16/654,283 · Granted Aug 9, 2022

Method, electronic device and computer program product for snapshot replication

Inventors: Changsheng Ren (Shanghai, CN); Qiu Shang (Shanghai, CN); Yue Qian (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F16/128G06F3/065G06F3/067G06F3/0608G06F3/0641G06F11/3034G06F16/11
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,409,700
App. No.
16/654,283
Filed
Oct 16, 2019
Granted
Aug 9, 2022
Kind
B2
Examiner
BUI, THUY T
Art Unit
2153
USPC
707/639
Abstract

Techniques involve: in response to a first session for asynchronous snapshot replication being established between a first source device and a destination device, determining whether the first source device and the destination device have a common baseline snapshot. Such techniques further involve: in response to determining absence of the baseline snapshot, determining whether initial synchronization from a second source device to the destination device is completed. Such techniques further involve: replicating, based on a result of the determining, at least one user snapshot at the first source device to the destination device. Accordingly, duplicated user snapshots at the destination device are significantly reduced. The snapshot management and space utilization of the destination device are also improved.

Claims (41)

1. A method of snapshot replication, comprising:

in response to a first session for asynchronous snapshot replication being established between a first source device and a destination device, determining whether the first source device and the destination device have a common baseline snapshot, the common baseline snapshot indicating progress of snapshot replication;

in response to determining that the first source device and the destination device do not have the common baseline snapshot, determining whether initial synchronization from a second source device to the destination device has been completed, a second session for synchronous snapshot replication existing between the first source device and the second source device before the first session is established, and a previously established third session for asynchronous snapshot replication existing between the second source device and the destination device, the initial synchronization including replicating all user snapshots existing at the second source device to the destination device, the initial synchronization being a part of the third session;

in response to determining that the initial synchronization from the second source device to the destination device has been completed, replicating a first user snapshot existing at the first source device to the destination device, the first user snapshot being created at the first source device after establishment of the first session; and

in response to determining that the initial synchronization from the second source device to the destination device has not yet been completed, replicating a second user snapshot existing at the first source device to the destination device, the second user snapshot having a replicate state indicating that the second user snapshot has not yet been replicated to the destination device.

2. The method of claim 1 , wherein the second user snapshot is replicated from the second source device to the first source device during the second session, and wherein replicating to the destination device the second user snapshot comprises:

obtaining the replicate state of the second user snapshot, the replicate state being determined during the second session.

3. The method of claim 1 , further comprising:

in response to determining that the first source device and the destination device have the common baseline snapshot, obtaining a replicate state of a third user snapshot which is replicated from the second source device to the first source device after a latest update of the common baseline snapshot, the replicate state of the third user snapshot being determined during the second session; and

in response to the replicate state indicating that the third user snapshot has not yet been replicated to the destination device, replicating the third user snapshot to the destination device.

4. The method of claim 1 , wherein determining whether the initial synchronization has been completed comprises:

sending a request to the destination device, so that the destination device determines whether the initial synchronization has been completed, based on a snapshot identification stored at the destination device; and

in response to receiving from the destination device a positive response to the request, determining that the initial synchronization has been completed.

5. The method of claim 1 , wherein determining whether the initial synchronization has been completed comprises:

receiving from the destination device a snapshot identification stored at the destination device;

determining whether the snapshot identification is same as a predetermined identification; and

in response to the snapshot identification being different from the predetermined identification, determining that the initial synchronization has been completed.

6. An electronic device, comprising:

a processor; and

a memory coupled with the processor, the memory having instructions stored therein which, when executed by the processor, causing the electronic device to perform acts comprising:

in response to a first session for asynchronous snapshot replication being established between a first source device and a destination device, determining whether the first source device and the destination device have a common baseline snapshot, the common baseline snapshot indicating progress of snapshot replication;

in response to determining that the first source device and the destination device do not have the common baseline snapshot, determining whether initial synchronization from a second source device to the destination device has been completed, a second session for synchronous snapshot replication existing between the first source device and the second source device before the first session is established, and a previously established third session for asynchronous snapshot replication existing between the second source device and the destination device, the initial synchronization including replicating all user snapshots existing at the second source device to the destination device, the initial synchronization being a part of the third session;

in response to determining that the initial synchronization from the second source device to the destination device has been completed, replicating a first user snapshot existing at the first source device to the destination device, the first user snapshot being created at the first source device after establishment of the first session; and

in response to determining that the initial synchronization from the second source device to the destination device has not yet been completed, replicating a second user snapshot existing at the first source device to the destination device, the second user snapshot having a replicate state indicating that the second user snapshot has not yet been replicated to the destination device.

7. The electronic device of claim 6 , wherein the second user snapshot is replicated from the second source device to the first source device during the second session, and wherein replicating to the destination device the second user snapshot comprises:

obtaining the replicate state of the second user snapshot, the replicate state being determined during the second session.

8. The electronic device of claim 6 , wherein the acts further comprise:

in response to determining that the first source device and the destination device have the common baseline snapshot, obtaining a replicate state of a third user snapshot which is replicated from the second source device to the first source device after a latest update of the common baseline snapshot, the replicate state of the third user snapshot being determined during the second session; and

in response to the replicate state indicating that the third user snapshot has not yet been replicated to the destination device, replicating the third user snapshot to the destination device.

9. The electronic device of claim 6 , wherein determining whether the initial synchronization has been completed comprises:

sending a request to the destination device, so that the destination device determines whether the initial synchronization has been completed, based on a snapshot identification stored at the destination device; and

in response to receiving from the destination device a positive response to the request, determining that the initial synchronization has been completed.

10. The electronic device of claim 6 , wherein determining whether the initial synchronization has been completed comprises:

receiving from the destination device a snapshot identification stored at the destination device;

determining whether the snapshot identification is same as a predetermined identification; and

in response to the snapshot identification being different from the predetermined identification, determining that the initial synchronization has been completed.

11. A computer program product having a non-transitory computer readable medium which stores a set of instructions to perform snapshot replication; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

in response to a first session for asynchronous snapshot replication being established between a first source device and a destination device, determining whether the first source device and the destination device have a common baseline snapshot, the common baseline snapshot indicating progress of snapshot replication;

in response to determining that the first source device and the destination device do not have the common baseline snapshot, determining whether initial synchronization from a second source device to the destination device has been completed, a second session for synchronous snapshot replication existing between the first source device and the second source device before the first session is established, and a previously established third session for asynchronous snapshot replication existing between the second source device and the destination device, the initial synchronization including replicating all user snapshots existing at the second source device to the destination device, the initial synchronization being a part of the third session;

in response to determining that the initial synchronization from the second source device to the destination device has been completed, replicating a first user snapshot existing at the first source device to the destination device, the first user snapshot being created at the first source device after establishment of the first session; and

in response to determining that the initial synchronization from the second source device to the destination device has not yet been completed, replicating a second user snapshot existing at the first source device to the destination device, the second user snapshot having a replicate state indicating that the second user snapshot has not yet been replicated to the destination device.

Assignments (9)
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 (051302/0528) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.); SECUREWORKS CORP.
Reel/Frame 060438/0593 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST AT REEL 051449 FRAME 0728 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
Reel/Frame 058002/0010 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
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 Dec 31, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.; EMC CORPORATION
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 051449/0728 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 16, 2019
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.; SECUREWORKS CORP.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 051302/0528 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 26, 2019
From: REN, CHANGSHENG; SHANG, QIU; QIAN, YUE
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051118/0587 →
Priority Claims (1)
CN 201811288911.3 · Oct 31, 2018 · national
Continuity (1)
Related Publication 20200133919A1 · Apr 30, 2020
Cited By (2)
US 12,499,013 US 12,536,075