IP Library Granted Patent US 11,657,019
Granted Patent B2
US 11,657,019 · App. 16/835,755 · Granted May 23, 2023

Method, device, and computer program product for managing application system

Inventors: Hongru Xu (Shanghai, CN); Tianfang Xiong (Shanghai, CN); Qiu Shang (Shanghai, CN); Fei Long (Shanghai, CN)
Assignee: EMC IP Holding Company LLC
G06F16/128G06F16/178G06F16/182G06F16/252G06F16/275
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,657,019
App. No.
16/835,755
Granted
May 23, 2023
Kind
B2
Abstract

Techniques manage application systems in an application environment. The application environment includes a first application system, a second application system and a third application system. First snapshot information of a first group of snapshots of the first application system is obtained, the first application system being in active state. Second snapshot information of a second group of snapshots of the second application system is obtained, the second application system being in standby state. It is determined whether the second application system and the third application system have a common snapshot based on the first snapshot information and the second snapshot information. Data is synchronized to the third application system depending on whether the second application system and the third application system have a common snapshot. Overheads required during data synchronization may be reduced as far as possible, and the efficiency of data synchronization may be improved.

Claims (76)

1. A method for managing application systems in an application environment, the application environment comprising a first application system, a second application system that takes over work of the first application system when the first application system is over-loaded, and a third application system that operates as a backup system, the method comprising:

performing synchronous replication from the first application system to the second application system;

performing asynchronous replication from the first application system to the third application system;

obtaining first snapshot information about a first group of snapshots of the first application system, including version information of snapshots in the first group of snapshots of the first application system, wherein the first group of snapshots of the first application system comprises at least two snapshots stored in the first application system and previously transmitted from the first application system to the third application system, the first application system being in active state;

obtaining second snapshot information about a second group of snapshots of the second application system, including version information of snapshots in the second group of snapshots of the second application system, wherein the second group of snapshots of the second application system comprises at least two snapshots stored in the second application system, the second application system being in standby state;

determining whether the second application system and the third application system have at least one common snapshot at least in part by comparing the first snapshot information and the second snapshot information, wherein the second application system and the third application system are determined to have at least one common snapshot in response to a determination that the first application system and the second application system have at least one common snapshot; and

synchronizing data to the third application system depending on whether the second application system and the third application system have at least one common snapshot.

2. The method of claim 1 , wherein determining whether the second application system and the third application system have the common snapshot further comprises:

in response to determining the first snapshot information does not match the second snapshot information, determining the second application system and the third application system have no common snapshot.

3. The method of claim 1 , wherein determining whether the second application system and the third application system have the common snapshot further comprises:

determining the number of common snapshots between the first group of snapshots and the second group of snapshots based on the first snapshot information and the second snapshot information; and

in response to determining the number is 2, determining the second application system and the third application system have at least one common snapshot.

4. The method of claim 1 , wherein determining whether the second application system and the third application system have the common snapshot further comprises:

determining the number of common snapshots between the first group of snapshots and the second group of snapshots based on the first snapshot information and the second snapshot information;

in response to determining the number is 1,

obtaining third snapshot information of a third group of snapshots of the third application system, including version information of snapshots in the third group of snapshots of the third application system; and

determining whether the second application system and the third application system have a common snapshot at least in part by comparing the second snapshot information and the third snapshot information.

5. The method of claim 4 , wherein determining whether the second application system and the third application system have the common snapshot further comprises at least one of:

in response to determining at least one part of the second snapshot information matches at least one part of the third snapshot information, determining the second application system and the third application system have a common snapshot; and

in response to determining the second snapshot information does not match the third snapshot information, determining the second application system and the third application system have no common snapshot.

6. The method of claim 1 , wherein synchronizing the data to the third application system depending on whether the second application system and the third application system have the common snapshot comprises:

in response to determining the second application system and the third application system have at least one common snapshot, synchronizing data to the third application system based on the at least one common snapshot.

7. The method of claim 6 , wherein synchronizing the data to the third application system based on the at least one common snapshot comprises:

determining a latest version snapshot of the at least one common snapshot;

determining a difference portion between a storage system in the second application system and the latest version snapshot; and

synchronizing the difference portion to the third application system.

8. The method of claim 1 , wherein synchronizing the data to the third application system depending on whether the second application system and the third application system have the common snapshot comprises:

in response to determining the second applications system and the third application system have no common snapshot, synchronizing the data to the third application system based on full copy.

9. The method of claim 1 , further comprising: performing the method in response to detecting a workload of the first application system is higher than a predetermined threshold.

10. The method of claim 9 , further comprising:

performing failover from the first application system to the second application system so that the second application system is in active state.

11. The method of claim 1 , wherein the synchronous replication from the first application system to the second application system is performed over a synchronous replication connection between the first application system and the second application system;

wherein the asynchronous replication from the first application system to the third application system is performed over an asynchronous replication connection between the first application system and the third application system; and

wherein the method further comprises:

transmitting the first group of snapshots of the first application system from the first application system to the third application system through the asynchronous replication connection between the first application system and the third application system prior to both i) obtaining the first snapshot information about the first group of snapshots of the first application system, and ii) obtaining the second snapshot information about the second group of snapshots of the second application system.

12. The method of claim 11 , wherein the work of the first application system includes serving at least one request from a client to access data.

13. The method of claim 12 , wherein the second application system is further configured to take over the work of the first application system when the first application system fails.

14. A device for managing application systems in an application environment, the application environment comprising a first application system, a second application system that takes over work of the first application system when the first application system is over-loaded, and a third application system that operates as a backup 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:

performing synchronous replication from the first application system to the second application system;

performing asynchronous replication from the first application system to the third application system;

obtaining first snapshot information about a first group of snapshots of the first application system, including version information of snapshots in the first group of snapshots of the first application system, wherein the first group of snapshots of the first application system comprises at least two snapshots stored in the first application system and previously transmitted from the first application system to the third application system, the first application system being in active state;

obtaining second snapshot information about a second group of snapshots of the second application system, including version information of snapshots in the second group of snapshots of the second application system, wherein the second group of snapshots of the second application system comprises at least two snapshots stored in the second application system, the second application system being in standby state;

determining whether the second application system and the third application system have at least one common snapshot at least in part by comparing the first snapshot information and the second snapshot information, wherein the second application system and the third application system are determined to have at least one common snapshot in response to a determination that the first application system and the second application system have at least one common snapshot; and

synchronizing data to the third application system depending on whether the second application system and the third application system have at least one common snapshot.

15. The device of claim 14 , wherein determining whether the second application system and the third application system have the common snapshot further comprises:

in response to determining the first snapshot information does not match the second snapshot information, determining the second application system and the third application system have no common snapshot.

16. The device of claim 14 , wherein determining whether the second application system and the third application system have the common snapshot further comprises:

determining the number of common snapshots between the first group of snapshots and the second group of snapshots based on the first snapshot information and the second snapshot information; and

in response to determining the number is 2, determining the second application system and the third application system have at least one common snapshot.

17. The device of claim 14 , wherein determining whether the second application system and the third application system have the common snapshot further comprises:

determining the number of common snapshots between the first group of snapshots and the second group of snapshots based on the first snapshot information and the second snapshot information;

in response to determining the number is 1,

obtaining third snapshot information of a third group of snapshots of the third application system, including version information of snapshots in the third group of snapshots of the third application system; and

determining whether the second application system and the third application system have a common snapshot at least in part by comparing the second snapshot information and the third snapshot information.

18. The device of claim 17 , wherein determining whether the second application system and the third application system have the common snapshot further comprises at least one of:

in response to determining at least one part of the second snapshot information matches at least one part of the third snapshot information, determining the second application system and the third application system have a common snapshot; and

in response to determining the second snapshot information does not match the third snapshot information, determining the second application system and the third application system have no common snapshot.

19. The device of claim 14 , wherein synchronizing the data to the third application system depending on whether the second application system and the third application system have the common snapshot comprises:

in response to determining the second application system and the third application system have at least one common snapshot, synchronizing data to the third application system based on the at least one common snapshot.

20. The device of claim 19 , wherein synchronizing the data to the third application system based on the at least one common snapshot comprises:

determining a latest version snapshot of the at least one common snapshot;

determining a difference portion between a storage system in the second application system and the latest version snapshot; and

synchronizing the difference portion to the third application system.

21. The device of claim 14 , wherein synchronizing the data to the third application system depending on whether the second application system and the third application system have a common snapshot comprises:

in response to determining the second applications system and the third application system have no common snapshot, synchronizing data to the third application system based on full copy.

22. The device of claim 14 , wherein the acts further comprise: performing the acts in response to detecting a workload of the first application system is higher than a predetermined threshold.

23. A computer program product having a non-transitory computer readable medium which stores a set of instructions to manage application systems in an application environment which includes a first application system, a second application system that takes over work of the first application system when the first application system is over-loaded, and a third application system that operates as a backup system; the set of instructions, when carried out by computerized circuitry, causing the computerized circuitry to perform a method of:

performing synchronous replication from the first application system to the second application system;

performing asynchronous replication from the first application system to the third application system;

obtaining first snapshot information about a first group of snapshots of the first application system, including version information of snapshots in the first group of snapshots of the first application system, wherein the first group of snapshots of the first application system comprises at least two snapshots stored in the first application system and previously transmitted from the first application system to the third application system, the first application system being in active state;

obtaining second snapshot information about a second group of snapshots of the second application system, including version information of snapshots in the second group of snapshots of the second application system, wherein the second group of snapshots of the second application system comprises at least two snapshots stored in the second application system, the second application system being in standby state;

determining whether the second application system and the third application system have at least one common snapshot at least in part by comparing the first snapshot information and the second snapshot information, wherein the second application system and the third application system are determined to have at least one common snapshot in response to a determination that the first application system and the second application system have at least one common snapshot; and

synchronizing data to the third application system depending on whether the second application system and the third application system have at least one common snapshot.

Assignments (11)
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 (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 (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 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 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
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0917 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 2, 2020
From: XU, HONGRU; XIONG, TIANFANG; SHANG, QIU; LONG, FEI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052808/0550 →
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 →
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 →
Priority Claims (1)
CN 201910697356.8 · Jul 30, 2019 · national
Continuity (1)
Related Publication 20210034569A1 · Feb 4, 2021