IP Library Granted Patent US 11,543,973
Granted Patent B2
US 11,543,973 · App. 17/027,853 · Granted Jan 3, 2023

Techniques for software recovery and restoration

Inventors: Roko Peros (Holly Springs, NC); Kenneth D. Lee (Hillsborough, NC); Peter J. McCann (Mason, NH)
Assignee: EMC IP Holding Company LLC
G06F3/0619G06F3/067G06F3/0629G06F3/0644G06F3/0659G06F8/61G06F11/1417G06F11/1458G06F11/1469
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,543,973
App. No.
17/027,853
Granted
Jan 3, 2023
Kind
B2
Abstract

Techniques for rebooting a node may include: performing first processing that fails to reboot the node using a primary storage device of the node; responsive to the first processing failing to reboot the node using the primary storage device of the node, performing second processing that reboots the node using a secondary storage device of the node and executes a recovery operating system of the secondary storage device; determining, by the recovery operating system executing first code, whether the primary storage device of the node meets one or more criteria indicating that the primary storage device is faulty or defective; and responsive to determining the primary storage device of the node meets the one or more criteria, performing third processing that restores the primary storage device using the secondary storage device.

Claims (45)

1. A method of rebooting a node comprising:

performing first processing that fails to reboot the node using a primary storage device of the node;

responsive to the first processing failing to reboot the node using the primary storage device of the node, performing second processing that reboots the node using a secondary storage device of the node and executes a recovery operating system of the secondary storage device;

determining, by the recovery operating system executing first code, whether the primary storage device of the node meets one or more criteria indicating that the primary storage device is faulty or defective; and

responsive to determining the primary storage device of the node meets the one or more criteria, performing third processing that restores the primary storage device using the secondary storage device, wherein configuration data includes customizations performed to a base operating system and one or more software components during a first installation performed prior to performing the method, and wherein the third processing includes:

customizing the base operating system and the one or more software components restored to the primary device in accordance with the customizations of the configuration data, wherein the configuration data is stored on a third storage device attached to the node, wherein the third storage device is configured to include at least one logical device, and wherein the third storage device provides back-end non-volatile physical storage provisioned for the at least one logical device.

2. The method of claim 1 , wherein the one or more criteria indicate one or more conditions denoting a health and status of the primary storage device.

3. The method of claim 1 , wherein the one or more criteria includes determining that the primary storage device does not include a valid partition table.

4. The method of claim 1 , wherein the one or more criteria includes determining that the primary storage device does not include a bootable partition.

5. The method of claim 1 , wherein the secondary storage device includes first content and wherein the third processing includes populating the primary storage device with the first content of the secondary storage device.

6. The method of claim 5 , wherein the first content includes the base operating system.

7. The method of claim 5 , wherein the first content includes the one or more software components of a system software stack.

8. The method of claim 7 , wherein the one or more software components include a first component that performs block storage services, a second component that performs file storage services, a third component that is included in the data path or I/O path, and a fourth component that is included in the control path or management path.

9. The method of claim 1 , wherein the configuration data includes a first customization indicating whether block storage services are enabled for the node and includes a second customization indicating whether file storage services are enabled for the node.

10. The method of claim 1 , wherein the second processing includes:

locating a bootable partition of the secondary storage device, wherein the bootable partition includes the recovery operating system;

booting the node using the bootable partition; and

loading and executing the recovery operating system of the bootable partition of the secondary storage device.

11. The method of claim 1 , wherein the primary storage device and the secondary storage device are internal storage devices of the node.

12. The method of claim 1 , wherein the primary storage device is designated as the primary boot device and the secondary storage device is designated as the secondary boot device.

13. A system comprising:

one or more processors; and

a memory comprising code stored thereon that, when executed, performs a method of rebooting a node comprising:

performing first processing that fails to reboot the node using a primary storage device of the node;

responsive to the first processing failing to reboot the node using the primary storage device of the node, performing second processing that reboots the node using a secondary storage device of the node and executes a recovery operating system of the secondary storage device;

determining, by the recovery operating system executing first code, whether the primary storage device of the node meets one or more criteria indicating that the primary storage device is faulty or defective; and

responsive to determining the primary storage device of the node meets the one or more criteria, performing third processing that restores the primary storage device using the secondary storage device, wherein configuration data includes customizations performed to a base operating system and one or more software components during a first installation performed prior to performing the method, and wherein the third processing includes:

customizing the base operating system and the one or more software components restored to the primary device in accordance with the customizations of the configuration data, wherein the configuration data is stored on a third storage device attached to the node, wherein the third storage device is configured to include at least one logical device, and wherein the third storage device provides back-end non-volatile physical storage provisioned for the at least one logical device.

14. A non-transitory computer readable medium comprising code stored thereon that, when executed, performs a method of rebooting a node comprising:

performing first processing that fails to reboot the node using a primary storage device of the node;

responsive to the first processing failing to reboot the node using the primary storage device of the node, performing second processing that reboots the node using a secondary storage device of the node and executes a recovery operating system of the secondary storage device;

determining, by the recovery operating system executing first code, whether the primary storage device of the node meets one or more criteria indicating that the primary storage device is faulty or defective; and

responsive to determining the primary storage device of the node meets the one or more criteria, performing third processing that restores the primary storage device using the secondary storage device, wherein configuration data includes customizations performed to a base operating system and one or more software components during a first installation performed prior to performing the method, and wherein the third processing includes:

customizing the base operating system and the one or more software components restored to the primary device in accordance with the customizations of the configuration data, wherein the configuration data is stored on a third storage device attached to the node, wherein the third storage device is configured to include at least one logical device, and wherein the third storage device provides back-end non-volatile physical storage provisioned for the at least one logical device.

15. The non-transitory computer readable medium of claim 14 , wherein the one or more criteria includes determining that the primary storage device does not include a valid partition table.

16. The non-transitory computer readable medium of claim 14 , wherein the one or more criteria includes determining that the primary storage device does not include a bootable partition.

17. The non-transitory computer readable medium of claim 14 , wherein the secondary storage device includes first content and wherein the third processing includes populating the primary storage device with the first content of the secondary storage device.

18. A method of rebooting a node comprising:

performing first processing that fails to reboot the node using a primary storage device of the node;

responsive to the first processing failing to reboot the node using the primary storage device of the node, performing second processing that reboots the node using a secondary storage device of the node and executes a recovery operating system of the secondary storage device;

determining, by the recovery operating system executing first code, that the primary storage device of the node meets one or more criteria indicating that the primary storage device is faulty or defective;

responsive to determining the primary storage device of the node meets the one or more criteria, restoring a copy of the base operating system to the primary storage device from the secondary storage device;

subsequent to said restoring, rebooting the node using the copy of the base operating system restored on the primary storage device;

subsequent to said rebooting the node using the copy of the base operating system restored on the primary storage device, retrieving configuration data and applying at least a first portion of the configuration data to software components of a system software stack as said system software stack is loaded into memory for execution.

19. The method of claim 18 , wherein said applying the at least first portion of the configuration data includes any of configuring, enabling and disabling a particular software component of the system software stack based on a user-specified customization identified in the configuration data.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 22, 2020
From: PEROS, ROKO; LEE, KENNETH D.; MCCANN, PETER J.
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 053841/0654 →
Continuity (1)
Related Publication 20220091755A1 · Mar 24, 2022