IP Library Granted Patent US 12,405,780
Granted Patent B2
US 12,405,780 · App. 18/066,189 · Granted Sep 2, 2025

Firmware updates using a first core system and a backup core system

Inventors: Deepak Panambur (Karnataka, IN); Pavan Sridhar Murthy (Karnataka, IN); Syama Sundararao Nadiminti (Karnataka, IN)
Assignee: Hewlett Packard Enterprise Development LP
G06F8/65
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 12,405,780
App. No.
18/066,189
Granted
Sep 2, 2025
Kind
B2
Abstract

Some examples relate to firmware updates. In an example, a first core system determines firmware updates to be installed on the first core system and auxiliary systems of a data center. The first core system sends firmware update package generation instructions to a cloud infrastructure comprising data center firmware updates. The first core system downloads a firmware update package from the cloud infrastructure. The first core system updates firmware of the first core system, based on one or more firmware updates in the firmware update package. The first core system receives a request for a specific firmware update from an auxiliary system. Based on the request received from the auxiliary system, the first core system identifies the specific firmware update for the auxiliary system from the firmware update package. The first core system provides the specific firmware update to the auxiliary system.

Claims (88)

1. A method comprising:

determining, by a first core system, firmware updates to be installed on the first core system and auxiliary systems;

sending, by the first core system, firmware update package generation instructions over a network to an infrastructure comprising firmware updates;

receiving, by the first core system, a firmware update package from the infrastructure;

updating, by the first core system, firmware of the first core system based on one or more firmware updates in the firmware update package;

executing, by the first core system, the updated firmware to perform target functionalities;

receiving, by the first core system, a request for a specific firmware update from an auxiliary system of the auxiliary systems;

identifying, by the first core system and based on the request received from the auxiliary system of the auxiliary systems, the specific firmware update from the firmware update package;

providing, by the first core system, the specific firmware update to the auxiliary system of the auxiliary systems;

selecting, by the first core system, a first auxiliary system of the auxiliary systems as a backup core system for the first core system based on metrics of the auxiliary systems, wherein the selecting of the first auxiliary system of the auxiliary systems as the backup core system for the first core system comprises:

determining one or more of:

a number of pending firmware updates on each respective auxiliary system of the auxiliary systems,

available storage spaces of the auxiliary systems, or

prior firmware download success rates of the auxiliary systems from the infrastructure; and

promoting the first auxiliary system of the auxiliary systems as the backup core system for the first core system based on one or more of:

a number of pending firmware updates on the first auxiliary system of the auxiliary systems,

an available storage space on the first auxiliary system of the auxiliary systems being more than a pre-defined storage space value, or

a prior firmware download success rate of the first auxiliary system of the auxiliary systems being higher than a pre-defined firmware download success rate value;

downloading, by the backup core system, firmware updates for the auxiliary systems in an event of unavailability of the first core system;

providing, by the backup core system, the downloaded firmware updates to the auxiliary systems;

updating, by the auxiliary systems, firmware of the auxiliary systems; and

executing, by the auxiliary systems, the updated firmware of the auxiliary systems to perform target functionalities.

2. The method of claim 1 , wherein the determining of the firmware updates to be installed on the first core system and the auxiliary systems is in response to an addition of a new auxiliary system.

3. The method of claim 2 , wherein the new auxiliary system comprises a computer with at least one of new hardware, new software, or new firmware.

4. The method of claim 1 , further comprising:

detecting the unavailability of the first core system; and

based on detecting the unavailability of the first core system, downloading, by the backup core system, a firmware update package comprising the firmware updates for the auxiliary systems from the infrastructure.

5. The method of claim 1 , wherein the selecting of the first auxiliary system of the auxiliary systems as the backup core system for the first core system comprises:

determining network bandwidth consumptions of respective lights out cards on the auxiliary systems; and

promoting the first auxiliary system of the auxiliary systems as the backup core system for the first core system further based on a lights out card of the first auxiliary system of the auxiliary systems having a network bandwidth consumption lower than a pre-defined network bandwidth consumption value.

6. The method of claim 5 , wherein the lights out card of each respective auxiliary system of the auxiliary systems has a network connection that is separate from a network connection of the respective auxiliary system of the auxiliary systems.

7. The method of claim 1 , wherein the determining of the firmware updates to be installed on the auxiliary systems comprises:

sending, by the first core system, a message requesting device firmware details to the auxiliary systems; and

receiving, by the first core system, a response message including device firmware details from each auxiliary system of the auxiliary systems.

8. The method of claim 1 , wherein the auxiliary system of the auxiliary systems comprises a computer with no direct uplink to the infrastructure.

9. A system comprising:

a first core system; and

auxiliary systems, the first core system comprising a processor to:

determine firmware updates to be installed on the first core system and the auxiliary systems;

send firmware update package generation instructions over a network to an infrastructure comprising firmware updates;

receive a firmware update package from the infrastructure at the first core system;

update firmware of the first core system based on one or more firmware updates in the firmware update package;

execute, at the first core system, the updated firmware to perform target functionalities;

receive a request for a specific firmware update from an auxiliary system of the auxiliary systems;

identify, based on the request received from the auxiliary system of the auxiliary systems, the specific firmware update from the firmware update package;

provide the specific firmware update to the auxiliary system of the auxiliary systems; and

select a first auxiliary system of the auxiliary systems as a backup core system for the first core system based on metrics of the auxiliary systems, wherein the selecting of the first auxiliary system of the auxiliary systems as the backup core system for the first core system comprises:

determining one or more of:

a number of pending firmware updates on each respective auxiliary system of the auxiliary systems,

available storage spaces of the auxiliary systems, or

prior firmware download success rates of the auxiliary systems from the infrastructure; and

promoting the first auxiliary system of the auxiliary systems as the backup core system for the first core system based on one or more of:

a number of pending firmware updates on the first auxiliary system of the auxiliary systems,

an available storage space on the first auxiliary system of the auxiliary systems being more than a pre-defined storage space value, or

a prior firmware download success rate of the first auxiliary system of the auxiliary systems being higher than a pre-defined firmware download success rate value;

the backup core system to:

download firmware updates for the auxiliary systems in an event of unavailability of the first core system; and

provide the downloaded firmware updates to the auxiliary systems; and

the auxiliary systems to:

update firmware of the auxiliary systems; and

execute, at the auxiliary systems, the updated firmware of the auxiliary systems to perform target functionalities.

10. The system of claim 9 , wherein the first core system further comprises a Baseboard Management Controller (BMC), and wherein the processor of the first core system is part of the BMC.

11. The system of claim 9 , wherein the processor of the first core system is to further:

determine network bandwidth consumptions of respective lights out cards on the auxiliary systems; and

promote the first auxiliary system of the auxiliary systems as the backup core system for the first core system further based on a lights out card of the first auxiliary system of the auxiliary systems having a network bandwidth consumption lower than a pre-defined network bandwidth consumption value.

12. The system of claim 11 , wherein the lights out card of each respective auxiliary system of the auxiliary systems has a network connection that is separate from a network connection of the respective auxiliary system of the auxiliary systems.

13. A non-transitory machine-readable storage medium storing instructions that upon execution cause a system comprising a first core system and auxiliary systems to:

determine, by the first core system, firmware updates to be installed on the first core system and the auxiliary systems;

send, by the first core system, firmware update package generation instructions over a network to an infrastructure comprising firmware updates;

receive, by the first core system, a firmware update package from the infrastructure;

update, by the first core system, firmware of the first core system based on one or more firmware updates in the firmware update package;

execute, by the first core system, the updated firmware to perform target functionalities;

receive, by the first core system, a request for a specific firmware update from an auxiliary system of the auxiliary systems;

identify, by the first core system and based on the request received from the auxiliary system of the auxiliary systems, the specific firmware update from the firmware update package;

provide, by the first core system, the specific firmware update to the auxiliary system of the auxiliary systems;

select, by the first core system, a first auxiliary system of the auxiliary systems as a backup core system for the first core system based on metrics of the auxiliary systems, wherein the selecting of the first auxiliary system of the auxiliary systems as the backup core system for the first core system comprises:

determining network bandwidth consumptions of respective lights out cards on the auxiliary systems; and

promoting the first auxiliary system of the auxiliary systems as the backup core system for the first core system based on a lights out card of the first auxiliary system of the auxiliary systems having a network bandwidth consumption lower than a pre-defined network bandwidth consumption value;

download, by the backup core system, firmware updates for the auxiliary systems in an event of unavailability of the first core system;

provide, by the backup core system, the downloaded firmware updates to the auxiliary systems;

update, by the auxiliary systems, firmware of the auxiliary systems; and

execute, by the auxiliary systems, the updated firmware of the auxiliary systems to perform target functionalities.

14. The non-transitory machine-readable storage medium of claim 13 , wherein the instructions upon execution further cause the system to:

determine, by the first core system, a number of pending firmware updates on each respective auxiliary system of the auxiliary systems; and

promote, by the first core system, the first auxiliary system of the auxiliary systems as the backup core system for the first core system further based on a number of pending firmware updates on the first auxiliary system of the auxiliary systems.

15. The non-transitory machine-readable storage medium of claim 13 , wherein the instructions upon execution further cause the system to:

determine, by the first core system, prior firmware download success rates of the auxiliary systems from the infrastructure; and

promote, by the first core system, the first auxiliary system of the auxiliary systems as the backup core system for the first core system further based on a prior firmware download success rate of the first auxiliary system of the auxiliary systems being higher than a pre-defined firmware download success rate value.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2022
From: PANAMBUR, DEEPAK; MURTHY, PAVAN SRIDHAR; NADIMINTI, SYAMA SUNDARARAO
To: HEWLETT PACKARD ENTERPRISE DEVELOPMENT LP
Reel/Frame 062096/0413 →
Priority Claims (1)
IN 202241057863 · Oct 10, 2022 · national
Continuity (1)
Related Publication 20240118881A1 · Apr 11, 2024
References Cited (11)
US 8285846B2 · Pyhalammi · 2012 [cited by examiner]
US 8495618B1 · Inbaraj et al. · 2013 [cited by applicant]
US 8707297B2 · Brown · 2014 [cited by examiner]
US 10693951B2 · Jujjuri · 2020 [cited by examiner]
US 11334416B2 · Butcher · 2022 [cited by examiner]
US 20070180314A1 · Kawashima · 2007 [cited by examiner]
US 20110106886A1 · Nolterieke et al. · 2011 [cited by applicant]
US 20110314462A1 · Clark · 2011 [cited by examiner]
US 20210124592A1 · Yu · 2021 [cited by examiner]
HPE, “HPE iLO Federation User Guide for iLO 5”, available online at <https://support.hpe.com/hpesc/public/docDisplay?docld=a00018325en_us>, 2022, 1 page. [cited by applicant]
Santhosh et al., “Automatic/Scalable Firmware and System Software update on Datacenter Products like Server, Storage and Network devices”, Technical Disclosure Commons, Jul. 11, 2017, 6 pages. [cited by applicant]