IP Library Granted Patent US 11,386,043
Granted Patent B2
US 11,386,043 · App. 16/846,842 · Granted Jul 12, 2022

Method, device, and computer program product for managing snapshot in application environment

Inventors: Qinghua Ling (Beijing, CN); Xin Zhong (Beijing, CN); Yue Yang (Beijing, CN); Yan Shao (Beijing, CN)
Assignee: EMC IP Holding Company LLC
G06F16/128G06F11/1451G06F11/1461G06F11/1464G06F11/1469G06F16/1734G06F16/182G06F11/1438
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,386,043
App. No.
16/846,842
Granted
Jul 12, 2022
Kind
B2
Abstract

Techniques manage snapshots in an application environment. The application environment includes a first application system and a second application system. A group of snapshots of the first application system are identified in a fracture state where synchronous communication between the first application system and the second application system is paused. A group of snapshot differences between two successive snapshots in the group of snapshots are obtained, the group of snapshots being arranged in chronological order that the group of snapshots are generated. The group of snapshot differences are transmitted from the first application system to the second application system in response to determining the synchronous communication between the first application system and the second application system is resumed. Accordingly, snapshots in the application environment can be managed more effectively, and further data synchronization between the first application system and the second application system may be realized.

Claims (59)

1. A method for managing snapshots in an application environment, the application environment comprising a first application system and a second application system, the method comprising:

identifying a group of snapshots of the first application system while the first application system is in a fracture state in which synchronous communication between the first application system and the second application system is paused;

obtaining a group of snapshot differences between two successive snapshots in the group of snapshots, the group of snapshots being arranged in chronological order according to when the snapshots were generated; and

transmitting the group of snapshot differences from the first application system to the second application system in response to determining the synchronous communication between the first application system and the second application system is resumed.

2. The method of claim 1 , wherein identifying a group of snapshots of the first application system comprises:

identifying a base snapshot in the latest version which has been transmitted from the first application system to the second application system; and

identifying at least one snapshot which is created when the first application system is in the fracture state.

3. The method of claim 2 , wherein transmitting the group of snapshot differences from the first application system to the second application system comprises:

transmitting each snapshot difference in the group of snapshot differences from the first application system to the second application system in the chronological order according to when the snapshots were generated.

4. The method of claim 3 , further comprising:

notifying the second application system to generate a new group of snapshots corresponding to the identified group of snapshots based on the group of snapshot differences transmitted from the first application system to the second application system.

5. The method of claim 3 , further comprising:

notifying the second application system to update a second mirror view in the second application system based on the group of snapshot differences transmitted from the first application system to the second application system, the second mirror view being a mirror of the first application system.

6. The method of claim 5 , further comprising:

generating a system snapshot of the first application system in response to determining the group of snapshot differences have been transmitted from the first application system to the second application system; and

transmitting a difference between the system snapshot and a snapshot with a latest creation time in the group of snapshots to the second application system.

7. The method of claim 6 , further comprising:

while the first application system is in the fracture state, in response to determining at least one data block in the first application system is changed, updating a bitmap in the first application system so as to indicate the changed at least one data block; and

updating the bitmap based on a snapshot difference which has been transmitted to the second application system.

8. The method of claim 7 , further comprising:

deleting the system snapshot from the first application system; and

managing an operation of the first application system based on the updated bitmap.

9. The method of claim 8 , wherein managing the operation of the first application system based on the updated bitmap further comprises:

in response to determining a data block in the first application system is modified, updating the bitmap so as to indicate the modified data block; and

synchronizing data from the first application system to the second application system based on the updated bitmap.

10. The method of claim 1 , wherein the fracture state comprises:

either of an administrator fracture state and a system fracture state.

11. A device for managing snapshots in an application environment, the application environment comprising a first application system and a second application system, the device comprising:

at least one processor;

a volatile memory; and

a memory coupled to the at least one processor and having instructions stored thereon, the instructions, when executed by the at least one processor, causing the device to perform acts comprising:

identifying a group of snapshots of the first application system while the first application system is in a fracture state in which synchronous communication between the first application system and the second application system is paused;

obtaining a group of snapshot differences between two successive snapshots in the group of snapshots, the group of snapshots being arranged in chronological order according to when the snapshots were generated; and

transmitting the group of snapshot differences from the first application system to the second application system in response to determining the synchronous communication between the first application system and the second application system is resumed.

12. The device of claim 11 , wherein identifying a group of snapshots of the first application system comprises:

identifying a base snapshot in the latest version which has been transmitted from the first application system to the second application system; and

identifying at least one snapshot which is created when the first application system is in the fracture state.

13. The device of claim 12 , wherein transmitting the group of snapshot differences from the first application system to the second application system comprises:

transmitting each snapshot difference in the group of snapshot differences from the first application system to the second application system in the chronological order according to when the snapshots were generated.

14. The device of claim 13 , wherein the acts further comprise:

notifying the second application system to generate a new group of snapshots corresponding to the identified group of snapshots based on the received group of snapshot differences transmitted from the first application system to the second application system.

15. The device of claim 13 , wherein the acts further comprise:

notifying the second application system to update a second mirror view in the second application system based on the group of snapshot differences transmitted from the first application system to the second application system, the second mirror view being a mirror of the first application system.

16. The device of claim 15 , wherein the acts further comprise:

generating a system snapshot of the first application system in response to determining the group of snapshot differences have been transmitted from the first application system to the second application system; and

transmitting a difference between the system snapshot and a snapshot with a latest creation time in the group of snapshots to the second application system.

17. The device of claim 16 , wherein the acts further comprise:

while the first application system is in the fracture state, in response to determining at least one data block in the first application system is changed, updating a bitmap in the first application system so as to indicate the changed at least one data block; and

updating the bitmap based on a snapshot difference which has been transmitted to the second application system.

18. The device of claim 17 , wherein the acts further comprise:

deleting the system snapshot from the first application system; and

managing an operation of the first application system based on the updated bitmap.

19. The device of claim 18 , wherein managing the operation of the first application system based on the updated bitmap further comprises:

in response to determining a data block in the first application system is modified, updating the bitmap so as to indicate the modified data block; and

synchronizing data from the first application system to the second application system based on the updated bitmap.

20. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage snapshots in an application environment, the application environment comprising a first application system and a second application system; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

identifying a group of snapshots of the first application system while the first application system is in a fracture state in which synchronous communication between the first application system and the second application system is paused;

obtaining a group of snapshot differences between two successive snapshots in the group of snapshots, the group of snapshots being arranged in chronological order according to when the snapshots were generated; and

transmitting the group of snapshot differences from the first application system to the second application system in response to determining the synchronous communication between the first application system and the second application system is resumed.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0081) 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
Reel/Frame 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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
Reel/Frame 060436/0509 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052852/0022) 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
Reel/Frame 060436/0582 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052852/0022 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
SECURITY AGREEMENT Recorded May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 27, 2020
From: LING, QINGHUA; ZHONG, XIN; YANG, YUE; SHAO, YAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052758/0171 →