IP Library Granted Patent US 9,639,434
Granted Patent B2
US 9,639,434 · App. 14/632,685 · Granted May 2, 2017

Auto-didacted hierarchical failure recovery for remote access controllers

Inventors: Alex Chunghen Chow (Austin, TX); Pushkala Iyer (Round Rock, TX); Yogesh Prabhakar Kulkarni (Round Rock, TX)
Assignee: Dell Products, L.P.
G06F11/1469G06F11/1464G06F11/1471
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 9,639,434
App. No.
14/632,685
Filed
Feb 26, 2015
Granted
May 2, 2017
Kind
B2
Art Unit
2114
USPC
714/26
Abstract

A method and an information handling system (IHS) provide hierarchical failure recovery for firmware components of the information handling system. According to one aspect, a hierarchical recovery and learning module (HRLM) detects firmware component failure. The HRLM initiates a hierarchical failure recovery by executing recovery sequences from a set of hierarchically ordered recovery sequences. The HRLM determines whether the detected failure was corrected by executing the recovery sequence. If the HRLM further determines that the failure is not corrected by executing the set of hierarchically ordered recovery sequences, the HRLM dynamically generates a new recovery sequence(s) using commands selected from at least one of the previously executed recovery sequences and executes the new recovery sequence(s). If the failure is corrected by a new recovery sequence, the HRLM forwards the particular recovery sequence to a customer support site for use by other systems in addressing similar or identical failures.

Claims (104)

1. A method of hierarchical self-healing and auto-didactic recovery for firmware components of an information handling system having a central processing unit (CPU), the method comprising:

detecting a failure of a firmware component in the information handling system;

initiating a hierarchical failure recovery by executing at least one recovery sequence from a set of hierarchically ordered recovery sequences, corresponding to the detected failure;

following execution of a recovery sequence, performing, before executing a next recovery sequence, an evaluating to determine whether the detected failure was corrected by executing the recovery sequence;

in response to the failure not being corrected by executing the set of hierarchically ordered recovery sequences: dynamically generating at least one new recovery sequence using commands selected from at least one of the previously executed recovery sequences in order to extend the set of hierarchically ordered recovery sequences, wherein dynamically generating includes selecting a portion of commands from the at least one of the previously executed recovery sequences to create the at least one new recovery sequence;

executing the at least one new recovery sequence; and

selectively ordering the executable commands corresponding to each of the at least one new recovery sequence, respectively, to provide at least one corresponding series of executable commands;

wherein each of the at least one series of executable commands differ from any other series of executable commands with respect to at least one of (a) constituent executable commands and (b) an ordering of the constituent executable commands, wherein each of the at least one series of executable commands is a corresponding new recovery sequence.

2. The method of claim 1 , further comprising:

updating, based on performed evaluations, one or more metrics respectively associated with a success rate of the one or more executed recovery sequences relative to each other in resolving the detected failure, wherein the one or more metrics are utilized to provide an updated set of hierarchically ordered recovery sequences appropriate for addressing a future failure.

3. The method of claim 1 , further comprising:

in response to the failure being corrected by executing the recovery sequence, dynamically initiating a learning mechanism that: records information about a respective failure and at least one corresponding recovery sequence; enables retrieval of the recorded information for report collection; and forwards the particular recovery sequence to a customer support site which subsequently provides the recovery sequence for download to other systems.

4. The method of claim 3 , further comprising:

in response to establishing that the new recovery sequence, having a specific series and group of commands, corrects the failure, recording information identifying the new recovery sequence associated with the detected failure of the firmware component, and which includes a type of failure of the firmware component and a hierarchical level of the correction.

5. The method of claim 1 , further comprising:

retrieving the set of hierarchically ordered recovery sequences.

6. The method of claim 1 , further comprising:

respectively ordering selected portions of the executable commands by applying one or more metrics associated with at least one of success rates of various recovery sequences having executable commands, a type of failure of the firmware component, and a priority associated with the identified failure.

7. The method of claim 1 , further comprising:

verifying whether the detected failure has been corrected by executing a new recovery sequence; and

in response to verifying that the detected failure has been corrected:

storing information associating the specific firmware failure with the new recovery sequence that corrected the failure; and

publishing an association of the detected failure and the new recovery sequence to a support site to share via download with other information handling systems.

8. The method of claim 1 , wherein the recovery sequences are hierarchically ordered based on inter-layer system component dependencies, where various layers represent respective hierarchical levels.

9. The method of claim 1 , wherein:

detecting a failure of a firmware component further comprises inserting at least one software assertion in the firmware component, wherein the software assertion can determine whether the firmware component is working properly; and

once a failure is detected, the method further comprises:

identifying whether at least one hierarchical failure recovery sequence is available for that detected failure; and

generating an output indicating that the failure has been detected.

10. The method of claim 9 , wherein generating an output indicating that a failure has been detected comprises one or more of:

displaying a message on a screen of the information handling system indicating that a failure has been detected and the information handling system is entering in the self-healing mode; and

activating an LED that indicates that the information handling system is in the self-healing mode.

11. The method of claim 10 , further comprising:

in response to not being able to identify a hierarchical failure recovery sequence for the detected failure, performing one or more of:

prompting a user to manually select a hierarchical failure recovery sequence from a FFRSM database that may correct the failure;

prompting the user to select an information handling system shutdown;

displaying a message to indicate that the failure is not recoverable and a new hierarchical failure recovery sequence is required.

12. The method of claim 1 , wherein searching for the one or more recovery sequences that corresponds with the failure further comprises:

identifying the recovery sequences within local storage; and

in response to not being able to identify the recovery sequences in local storage, searching for the recovery sequences that correspond to the failure from a support site, downloading a found recovery sequence at the support site, and executing the found recovery sequence at the IHS.

13. The method of claim 1 , further comprising:

in response to a detected failure and not having access to an appropriate recovery sequence, placing the IHS into a self-healing mode;

said placing the IHS within a self-healing mode further comprises:

initiating an orderly shutdown of the information handling system; and

wherein when the information handling system cannot initiate an orderly shutdown, the information handling system is forced to shut down.

14. An information handling system (IHS) comprising:

a central processing unit (CPU);

at least one component that operates based on execution of a corresponding firmware component;

a local storage facility that stores executable firmware utilized to operate the at least one component; and

a hierarchical recovery and learning system/module comprising:

a failure detection mechanism that detects a failure of a firmware component in the information handling system; and

a hierarchical failure recovery mechanism that:

initiates a hierarchical failure recovery by executing at least one recovery sequence from a set of hierarchically ordered recovery sequences, corresponding to the detected failure;

following execution of a recovery sequence, performs, before executing a next recovery sequence, an evaluating to determine whether the detected failure was corrected by executing the recovery sequence;

in response to the failure not being corrected by executing the set of hierarchically ordered recovery sequences, dynamically generates at least one new recovery sequence using commands selected from at least one of the previously executed recovery sequences in order to extend the set of hierarchically ordered recovery sequences, wherein the recovery mechanism selects a portion of commands from the at least one of the previously executed recovery sequences to create the at least one new sequence;

executes the at least one new recovery sequence; and

selectively orders the executable commands corresponding to each of the at least one new sequence, respectively, to provide at least one corresponding series of executable commands;

wherein each of the at least one series of executable commands differ from any other series of executable commands with respect to at least one of (a) constituent executable commands and (b) an ordering of the constituent executable commands, wherein each of the at least one series of executable commands is a corresponding new recovery sequence.

15. The IHS of claim 14 , wherein the hierarchical failure recovery mechanism:

updates, based on performed evaluations, one or more metrics respectively associated with a success rate of the one or more executed recovery sequences relative to each other in resolving the detected failure, wherein the one or more metrics are utilized to provide an updated set of hierarchically ordered recovery sequences appropriate for addressing a future failure.

16. The IHS of claim 14 , wherein the hierarchical failure recovery mechanism:

in response to the failure being corrected by executing the recovery sequence, dynamically initiates a learning mechanism that: records information about a respective failure and at least one corresponding recovery sequence; enables retrieval of the recorded information for report collection; and forwards the particular recovery sequence to a customer support site which subsequently provides the recovery sequence for download to other systems.

17. The IHS of claim 14 , wherein the hierarchical failure recovery mechanism:

retrieves the set of hierarchically ordered recovery sequences.

18. The IHS of claim 17 , wherein the hierarchical failure recovery mechanism:

respectively orders selected portions of the executable commands by applying one or more metrics associated with at least one of success rates of various recovery sequences having executable commands, a type of failure of the firmware component, and a priority associated with the identified failure.

19. The IHS of claim 14 , wherein the hierarchical failure recovery mechanism:

verifies whether the detected failure has been corrected by executing a new recovery sequence; and

in response to verifying that the detected failure has been corrected:

stores information associating the specific firmware failure with the new recovery sequence that corrected the failure; and

publishes an association of the detected failure and the new recovery sequence to a support site to share via download with other information handling systems.

20. The IHS of claim 14 , wherein the recovery sequences are hierarchically ordered based on inter-layer system component dependencies, where various layers represent respective hierarchical levels.

21. The IHS of claim 14 , wherein the hierarchical failure recovery mechanism:

in response to establishing that the new recovery sequence, having a specific series and group of commands, corrects the failure, records information identifying the new recovery sequence associated with the detected failure of the firmware component, and which includes a type of failure of the firmware component and a hierarchical level of the correction.

22. The IHS of claim 14 , wherein in searching for the one or more recovery sequences that corresponds with the failure, the recovery mechanism:

identifies the recovery sequences within local storage; and

in response to not being able to identify the recovery sequences in local storage, searches for the recovery sequences that correspond to the failure from a support site, downloading a found recovery sequence at the support site, and executing the found recovery sequence at the IHS.

23. The IHS of claim 14 , wherein the hierarchical failure recovery mechanism:

in response to a detected failure and not having access to an appropriate recovery sequence, places the IHS into a self-healing mode by:

initiating an orderly shutdown of the information handling system;

wherein when the information handling system cannot initiate an orderly shutdown, the information handling system is forced to shut down.

24. An information handling system (IHS) comprising:

a central processing unit (CPU);

at least one component that operates based on execution of a corresponding firmware component;

a local storage facility that stores executable firmware utilized to operate the at least one component; and

a hierarchical recovery and learning system/module comprising:

a failure detection mechanism that:

detects a failure of a firmware component in the information handling system by inserting at least one software assertion in the firmware component, wherein the software assertion can determine whether the firmware component is working properly; and

once a failure is detected:

identifies whether at least one hierarchical failure recovery sequence is available for that detected failure; and

generates an output indicating that the failure has been detected;

a hierarchical failure recovery mechanism that:

initiates a hierarchical failure recovery by executing at least one recovery sequence from a set of hierarchically ordered recovery sequences, corresponding to the detected failure;

following execution of a recovery sequence, performs, before executing a next recovery sequence, an evaluating to determine whether the detected failure was corrected by executing the recovery sequence;

in response to the failure not being corrected by executing the set of hierarchically ordered recovery sequences, dynamically generates at least one new recovery sequence using commands selected from at least one of the previously executed recovery sequences in order to extend the set of hierarchically ordered recovery sequences; and

executes the at least one new recovery sequence.

25. The IHS of claim 24 , wherein generating an output indicating that a failure has been detected comprises one or more of:

displaying a message on a screen of the information handling system indicating that a failure has been detected and the information handling system is entering in the self-healing mode; and

activating an LED that indicates that the information handling system is in the self-healing mode.

26. The IHS of claim 25 , wherein the hierarchical failure recovery mechanism:

in response to not being able to identify a hierarchical failure recovery sequence for the detected failure, performs one or more of:

prompts a user to manually select a hierarchical failure recovery sequence from a FFRSM database that may correct the failure;

prompts the user to select an information handling system shutdown; and

displays a message to indicate that the failure is not recoverable and a new hierarchical failure recovery sequence is required.

Assignments (15)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
RELEASE OF REEL 035860 FRAME 0797 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040028/0551 →
RELEASE OF REEL 035860 FRAME 0878 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040027/0158 →
RELEASE OF REEL 035858 FRAME 0612 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
Reel/Frame 040017/0067 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 035858/0612 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC.; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 035860/0797 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 9, 2015
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; COMPELLENT TECHNOLOGIES, INC; SECUREWORKS, INC.; STATSOFT, INC.
To: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 035860/0878 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 26, 2015
From: CHOW, ALEX CHUNGHEN; IYER, PUSHKALA; KULKARNI, YOGESH PRABHAKAR
To: DELL PRODUCTS, L.P.
Reel/Frame 035043/0329 →
Continuity (1)
Related Publication 20160253246A1 · Sep 1, 2016