IP Library Granted Patent US 11,748,092
Granted Patent B2
US 11,748,092 · App. 17/230,348 · Granted Sep 5, 2023

Information handling system with a sequenced order of firmware updates

Inventors: Pushkala Iyer (Round Rock, TX); Santosh Gore (Bangalore, IN); Raveendra Babu Madala (Bangalore, IN); Raajeev Kalyanaraman (Cedar Park, TX); Sudhir Shetty (Cedar Park, TX)
Assignee: Dell Products L.P.
G06F8/654G06F8/658G06F8/71G06F9/4411
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,748,092
App. No.
17/230,348
Granted
Sep 5, 2023
Kind
B2
Abstract

An information handling system includes a memory, a chassis management controller, and a management controller. The memory stores an update catalog and an update sequence catalog. The chassis management controller determines one or more components to update and provides an update request associated with the components. In response to the reception of the update request, the management controller retrieves the update catalog and the update sequence catalog from the memory and determines whether updates for all the components will be completed successfully. In response to the determination that the updates for all the components will be completed successfully, the management controller provides a list of updates for the chassis management controller to install in the information handling system. Otherwise, the management controller provides a user of the information handling system with a set of pre-requisite component versions to include within the update request.

Claims (91)

1. An information handling system comprising:

a memory to store an update catalog and an update sequence catalog;

a chassis management controller to determine one or more components to update, and to provide an update request associated with the components, wherein the components are located within a chassis of the information handling system;

a management controller to communicate with the memory and with the chassis management controller, the management controller to:

in response to a reception of the update request:

retrieve the update catalog from the memory, wherein the update catalog is associated with the one or more components; and

retrieve the update sequence catalog from the memory;

based on the update catalog and the update sequence catalog, determine whether updates for all the components will be completed successfully, wherein the determination of whether the updates for all the components will be completed successfully includes the management controller further to:

determine on a component-by-component basis: a current version of each of the components; an update version of each of the components; and

whether any intermediate updates exist between the current version and the update version for each of the components;

in response to the determination that the updates for all the components will be completed successfully, provide a list of updates for the chassis management controller to install in the information handling system; and

in response to the determination that the updates for all the components will not be completed successfully, provide the chassis management controller with a signal indicating a set of intermediate updates to include within the update request;

wherein based on the signal from the management controller, the chassis management controller further to:

download and store the set of intermediate updates;

determine a length of updates for multiple update paths;

in response to first and second update paths having a same length of updates, determine lengths of time to complete the component updates for the first and second update paths;

select the first update path as the order to install component updates, wherein the first update path has the shortest length of time to complete the component updates; and

perform updates based on the set of intermediate updates.

2. The information handling system of claim 1 , wherein the determination of whether the updates for all the components will be completed successfully, the management controller further to:

in response to no intermediate updates existing for each of the components, determine that the updates for all the components will be completed successfully; and

in response to an intermediate update existing for at least one of the components, determine that the updates for all the components will not be completed successfully.

3. The information handling system of claim 1 , wherein the management controller further to determine an order to install component updates based on the sequence catalog.

4. The information handling system of claim 1 , further comprising:

an update sequence controller to communicate with the memory, the update sequence controller to:

receive, from another information handling system, data associated with a successful component update; and

based on the data associated with the successful component update, update the update sequence catalog in the memory.

5. The information handling system of claim 1 , wherein the determination of the order to install component updates, the management controller further to:

setup a plurality of update paths for the component updates;

execute each of the update paths; and

select one of the update paths that has been executed without failure.

6. The information handling system of claim 1 , wherein the update catalog includes details identifying intra-component dependencies and inter-component dependencies for each component update.

7. The information handling system of claim 1 , wherein the update sequence catalog includes a sequence of updates that has been successfully installed in other information handling systems.

8. A method comprising:

receiving, at a management controller, an update request for one or more components within an information handling system;

in response to receiving the update request:

retrieving an update catalog from a memory, wherein the update catalog is associated with the one or more components; and

retrieving an update sequence catalog from the memory;

based on the update catalog and the update sequence catalog, determining whether updates for all the components will be completed successfully, wherein the determining of whether the updates for all the components will be completed successfully includes:

determining on a component-by-component basis: a current version of each of the components; an update version of each of the components; and whether any intermediate updates exist between the current version and the update version for each of the components;

in response to determining that the updates for all the components will be completed successfully, providing a list of updates for a chassis management controller to install in the information handling system;

in response to determining that the updates for all the components will not be completed successfully, providing a chassis management controller with a signal indicating a set of intermediate updates to include within the update request; and

based on the signal from the management controller:

downloading, by the chassis management controller, the set of intermediate updates;

storing the set of intermediate updates;

determining a length of updates for multiple update paths;

in response to first and second update paths having a same length of updates, determining lengths of time to complete the component updates for the first and second update paths;

selecting the first update path as the order to install component updates, wherein the first update path has the shortest length of time to complete the component updates; and

performing, by the chassis management controller, updates based on the set of intermediate updates.

9. The method of claim 8 , wherein the determining of whether the updates for all the components will be completed successfully further comprises:

in response to no intermediate updates existing for each of the components, determining that the updates for all the components will be completed successfully; and

in response to an intermediate update existing for at least one of the components, determining that the updates for all the components will not be completed successfully.

10. The method of claim 8 , further comprising:

determining an order to install component updates based on the sequence catalog.

11. The method of claim 8 , further comprising:

receiving, from another information handling system, data associated with a successful component update; and

based on the data associated with the successful component update, updating the update sequence catalog in the memory.

12. The method of claim 8 , wherein the determining of the order to install component updates further comprises:

setting, by the management controller, up a plurality of update paths for the component updates;

executing, by the management controller, each of the update paths; and

selecting, by the management controller, one of the update paths that has been executed without failure.

13. The method of claim 8 , wherein the update catalog includes details identifying intra-component dependencies and inter-component dependencies for each component update.

14. The method of claim 8 , wherein the update sequence catalog includes a sequence of updates that has been successfully installed in other information handling systems.

15. An information handling system comprising:

a memory to store an update catalog and an update sequence catalog;

a chassis management controller to determine a component to update, and to provide an update request associated with the component, wherein the component is located within a chassis of an information handling system;

a management controller to:

in response to a reception of the update request:

retrieve the update catalog from the memory, wherein the update catalog is associated with the component; and

retrieve the update sequence catalog from the memory;

based on the update catalog and the update sequence catalog:

determine on a component-by-component basis: a current version of each of the components; an update version of each of the components; and

whether any intermediate updates exist for each of the components;

in response to no intermediate updates existing for each of the components, determine that the updates for all the components will be completed successfully; and

in response to an intermediate update existing for at least one of the components, determine that the updates for all the components will not be completed successfully;

if the updates for the component will be completed successfully, then determine an order to install component updates based on the sequence catalog and provide a list of updates for the chassis management controller to install in the information handling system; and

if the updates for the component will not be completed successfully, then the chassis management controller with a signal indicating a set of intermediate updates to include within the update request;

wherein based on the signal from the management controller, the chassis management controller further to:

download and store the set of intermediate updates;

determine a length of updates for multiple update paths;

in response to first and second update paths having a same length of updates, determine lengths of time to complete the component updates for the first and second update paths;

select the first update path as the order to install component updates, wherein the first update path has the shortest length of time to complete the component updates; and

perform updates based on the set of intermediate updates.

16. The information handling system of claim 15 , further comprising:

an update sequence controller to communicate with the memory, the update sequence controller to:

receive, from another information handling system, data associated with a successful component update; and

based on the data associated with the successful component update, update the update sequence catalog in the memory.

17. The information handling system of claim 15 , wherein the determination of the order to install component updates, the management controller further to:

setup a plurality of update paths for the component updates;

execute each of the update paths; and

select one of the update paths that has been executed without failure.

18. The information handling system of claim 15 , wherein the update catalog includes details identifying intra-component dependencies and inter-component dependencies for each component update.

Assignments (10)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0280) Recorded Jun 10, 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 062022/0255 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0124) Recorded Jun 10, 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 062022/0012 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (056295/0001) Recorded Jun 10, 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 062021/0844 →
RELEASE OF SECURITY INTEREST Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058297/0332 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0124 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0001 →
SECURITY INTEREST Recorded May 19, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 056295/0280 →
CORRECTIVE ASSIGNMENT TO CORRECT THE MISSING PATENTS THAT WERE ON THE ORIGINAL SCHEDULED SUBMITTED BUT NOT ENTERED PREVIOUSLY RECORDED AT REEL: 056250 FRAME: 0541. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded May 17, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056311/0781 →
SECURITY AGREEMENT Recorded May 14, 2021
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 056250/0541 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 14, 2021
From: IYER, PUSHKALA; GORE, SANTOSH; MADALA, RAVEENDRA BABU; KALYANARAMAN, RAAJEEV; SHETTY, SUDHIR
To: DELL PRODUCTS, LP
Reel/Frame 055917/0757 →