IP Library Granted Patent US 10,402,283
Granted Patent B1
US 10,402,283 · App. 15/499,935 · Granted Sep 3, 2019

Online system checkpoint recovery orchestration

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,402,283
App. No.
15/499,935
Granted
Sep 3, 2019
Kind
B1
Abstract

Described embodiments provide systems and methods for online system recovery orchestration. Embodiments may include receiving a request to recover a system management process from a checkpoint. The system management initialization parameter file is updated by setting a flag to start from the checkpoint. A system management process is started with the updated initialization parameter and a copy of the system management repository is loaded. Volumes are recovered before data path module activation. Data modules are then activated with checkpoint offset information and data module journals are reformatted. Control modules are then activated with recovered volume configuration and control module journals are reformatted. Defragmentation mode is set to rollback mode and data on checkpoint stripes that were written after checkpoint creation are deleted. After waiting for the defragmentation rollback to complete the host IO direction is set to checkpoint stripes. Routing modules are activated and host IO operations are allowed.

Claims (75)

1. A method comprising:

receiving at a platform module, a request to recover a system management module process from a checkpoint;

updating the system management module initialization parameter file by setting a flag to start from the checkpoint;

starting a new system management module process with the updated initialization parameter;

loading a checkpoint copy of system management module repository;

recovering volumes from checkpoint snapshots before any data path module activation;

activating data modules with checkpoint metadata offset information and reformatting data module journals;

activating control modules with recovered volume configuration and reformatting control module journals;

setting defragmentation mode to rollback mode and deleting data on checkpoint stripes that were written after checkpoint creation and waiting for defragmentation rollback to complete;

setting host Input Output (IO) direction to checkpoint stripes;

activating routing modules and allowing host IO operations; and

upon successful system activation, marking checkpoint recovery complete and resetting the flag in the platform.

2. The method of claim 1 wherein said updating the system management module initialization parameter file by setting a flag to start from checkpoint further comprises determining whether a system management module process is currently running.

3. The method of claim 2 further comprising when a system management module process is currently running, then terminating the running system management module process.

4. The method of claim 1 wherein said loading checkpoint copy of system management module repository further comprises loading system management module metadata first.

5. The method of claim 4 wherein said loading a checkpoint copy of system management module repository further comprises loading a checkpoint system management module management object database data base and reconstructing in memory object database based on checkpoint.

6. The method of claim 5 wherein said loading a checkpoint copy of a system management module repository further comprises reformatting journal chunks and discarding left over journals after checkpoint generation.

7. The method of claim 6 wherein said loading checkpoint copy of system management module repository further comprises mounting on-disk RAID 1.3 section and dumping in-memory system management module repository to default RAID1.3 location.

8. The method of claim 1 wherein said activating data modules with checkpoint offset information and reformatting data module journals further comprises using said data module to recover harvested metadata/physical layout metadata and user data from hardened checkpoint copy in normal data stripes.

9. The method of claim 8 further comprising waiting for harvested meta data recovery to complete.

10. The method of claim 8 wherein said activating control modules with recovered volume configuration and reformatting control module journals further comprises using said control module to load hash backup metadata based on recovered data module data content.

11. The method of claim 10 further comprising using said control module to reconstruct an address to hash mapping table in memory hash tree and dirty tree for recovered volumes.

12. A system comprising:

a processor; and

memory storing computer program code that when executed on the processor causes the processor to operate a storage system, the storage system operable to perform the operations of:

receiving at a platform module, a request to recover a system management module process from a checkpoint;

updating the system management module initialization parameter file by setting a flag to start from the checkpoint;

starting a new system management module process with the updated initialization parameter;

loading a checkpoint copy of system management module repository;

recovering volumes from checkpoint snapshots before any data path module activation;

activating data modules with checkpoint metadata offset information and reformatting data module journals;

activating control modules with recovered volume configuration and reformatting control module journals;

setting defragmentation mode to rollback mode and deleting data on checkpoint stripes that were written after checkpoint creation and waiting for defragmentation rollback to complete;

setting host Input Output (IO) direction to checkpoint stripes;

activating routing modules and allowing host IO operations; and

upon successful system activation, marking checkpoint recovery complete and resetting the flag in the platform.

13. The system of claim 12 wherein said updating the system management module initialization parameter file by setting a flag to start from checkpoint further comprises:

determining whether a system management module process is currently running;

when a system management module process is currently running, then terminating the running system management module process; and

when a system management module process is currently running, then starting a new system management module process with an updated initialization parameter.

14. The system of claim 12 wherein said loading checkpoint copy of system management module repository further comprises:

loading system management module metadata first;

loading a checkpoint system management module management object database data base and reconstructing in memory object database based on checkpoint;

reformatting journal chunks and discarding left over journals after checkpoint generation; and

mounting on-disk RAID 1.3 section and dumping in-memory system management module repository to default RAID 1.3 location.

15. The system of claim 12 wherein said activating data modules with checkpoint offset information and reformatting data module journals further comprises:

using said data module to recover harvested metadata/physical layout metadata and user data from hardened checkpoint copy in normal data stripes; and

waiting for harvested meta data recovery to complete.

16. The system of claim 12 wherein said activating control modules with recovered volume configuration and reformatting control module journals further comprises using said control module to load hash backup metadata based on recovered data module data content.

17. The system of claim 16 further comprising using said control module to reconstruct an address to hash mapping table in memory hash tree and dirty tree for recovered volumes.

18. A computer program product including a non-transitory computer readable storage medium having computer program code encoded thereon that when executed on a processor of a computer causes the computer to operate a storage system, the computer program product comprising:

computer program code for receiving at a platform module, a request to recover a system management module process from a checkpoint;

computer program code for updating the system management module initialization parameter file by setting a flag to start from the checkpoint;

computer program code for starting a new system management module process with the updated initialization parameter;

computer program code for loading a checkpoint copy of system management module repository;

computer program code for recovering volumes from checkpoint snapshots before any data path module activation;

computer program code for activating data modules with checkpoint metadata offset information and reformatting data module journals;

computer program code for activating control modules with recovered volume configuration and reformatting control module journals;

computer program code for setting defragmentation mode to rollback mode and deleting data on checkpoint stripes that were written after checkpoint creation and waiting for defragmentation rollback to complete;

computer program code for setting host Input Output (IO) direction to checkpoint stripes;

computer program code for activating routing modules and allowing host IO operations; and

computer program code for upon successful system activation, marking checkpoint recovery complete and resetting the flag in the platform.

19. The computer program product of claim 18 further comprising:

computer program code for determining whether a system management module process is currently running;

computer program code for when a system management module process is currently running, then terminating the running system management module process; and

computer program code for when a system management module process is currently running, then starting a new system management module process with an updated initialization parameter;

computer program code for loading system management module metadata first;

computer program code for loading a checkpoint system management module management object database data base and reconstructing in memory object database based on checkpoint;

computer program code for reformatting journal chunks and discarding left over journals after checkpoint generation; and

computer program code for mounting on-disk RAID 1.3 section and dumping in-memory system management module repository to default RAID1.3 location.

20. The computer program product of claim 18 further comprising:

computer program code for using said data module to recover harvested metadata/physical layout metadata and user data from hardened checkpoint copy in normal data stripes;

computer program code for waiting for harvested meta data recovery to complete;

computer program code for using said control module to load hash backup metadata based on recovered data module data content; and

computer program code for using said control module to reconstruct an address to hash mapping table in memory hash tree and dirty tree for recovered volumes.

Assignments (7)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (042769/0001) Recorded Apr 26, 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 (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 059803/0802 →
RELEASE OF SECURITY INTEREST AT REEL 042768 FRAME 0585 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058297/0536 →
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 →
PATENT SECURITY INTEREST (CREDIT) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 042768/0585 →
PATENT SECURITY INTEREST (NOTES) Recorded Jun 12, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; MOZY, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 042769/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 7, 2017
From: CHEN, XIANGPING; KUCHEROV, ANTON; SCHNEIDER, ZVI; HU, YING; SHVAIGER, FELIX
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 042635/0599 →
Cited By (1)
US 12,481,449