IP Library › Granted Patent US 12,511,196
Granted Patent B2
US 12,511,196 · App. 18/569,911 · Granted Dec 30, 2025

Component firmware replacements via networks

Inventors: Kang-Ning Feng (Taipei, TW); Ming-Chang Hung (Taipei, TW); Wei-Chih Huang (Taipei, TW)
Assignee: Hewlett-Packard Development Company, L.P.
G06F11/1417G06F11/0709G06F11/0793
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,511,196
App. No.
18/569,911
Granted
Dec 30, 2025
Kind
B2
Abstract

An example non-transitory machine-readable medium includes recovery instructions that, when executed by a processor, cause the processor to detect a corruption of first installed instructions of first component firmware at a computing device and second installed instructions of second component firmware at the computing device. In response to detection of the corruption during pre-boot, if the first installed instructions are detected as corrupt, the recovery instructions request and receive first replacement instructions from a first network address, and replace in the computing device the first installed instructions with the first replacement instructions. If the second installed instructions are detected as corrupt, the recovery instructions request and receive second replacement instructions from a second network address different from the first network address, and replace in the computing device the second installed instructions with the second replacement instructions.

Claims (45)

1 . A non-transitory machine-readable medium comprising recovery instructions that, when executed by a processor, cause the processor to:

during a pre-boot of a computing device, detect a corruption of at least one of first installed instructions of a first component firmware at the computing device or second installed instructions of a second component firmware at the computing device;

during the pre-boot:

in response to detection of the corruption of the first installed instructions, request and receive first replacement instructions from a first network address, and replace in the computing device the first installed instructions with the first replacement instructions; and

in response to detecting of the corruption of the second installed instructions, request and receive second replacement instructions from a second network address different from the first network address, and replace in the computing device the second installed instructions with the second replacement instructions; and

query a mapping that is maintained remotely and associates the first replacement instructions with the first network address.

2 . The non-transitory machine-readable medium of claim 1 , wherein the mapping associates the second replacement instructions with the second network address.

3 . The non-transitory machine-readable medium of claim 2 , wherein the recovery instructions are to query the mapping via a network.

4 . The non-transitory machine-readable medium of claim 2 , wherein the mapping stores best known configurations (BKCs) of component firmware of different computing devices.

5 . The non-transitory machine-readable medium of claim 1 , wherein the first installed instructions and first replacement instructions provide a first functionality to the computing device that is different from a second functionality provided by the second installed instructions and second replacement instructions.

6 . The non-transitory machine-readable medium of claim 1 , wherein the first network address is in a first domain and the second network address is in a second domain that is separate from the first domain.

7 . The non-transitory machine-readable medium of claim 1 , wherein the first network address is accessible by a first protocol and the second network address is accessible by a second protocol that is different from the first protocol.

8 . The non-transitory machine-readable medium of claim 1 , wherein the instructions are further to:

if the first installed instructions are detected as corrupt, trigger a reset of the computing device after receiving the first replacement instructions from the first network address and before replacing in the computing device the first installed instructions with the first replacement instructions; and

if the second installed instructions are detected as corrupt, trigger the reset of the computing device after receiving the second replacement instructions from the second network address and before replacing in the computing device the second installed instructions with the second replacement instructions.

9 . The non-transitory machine-readable medium of claim 1 , wherein the instructions are further to:

if the first installed instructions are detected as corrupt, launch an operating system of the computing device after replacing in the computing device the first installed instructions with the first replacement instructions; and

if the second installed instructions are detected as corrupt, launch the operating system of the computing device after replacing in the computing device the second installed instructions with the second replacement instructions.

10 . A non-transitory machine-readable medium comprising instructions that, when executed by a processor, cause the processor to:

monitor a pre-boot of a computing device to detect corruption of component firmware; and

in response to detection of the corruption and during the pre-boot:

identify the component firmware that has the corruption;

query a remotely maintained mapping that associates replacement component firmware with network addresses to obtain a network address;

request and receive replacement component firmware for the corrupted component firmware from the network address; and

replace in the computing device the corrupted component firmware with the replacement component firmware.

11 . The non-transitory machine-readable medium of claim 10 , wherein the instructions are further to launch an operating system of the computing device after replacing the corrupted component firmware with the replacement component firmware.

12 . The non-transitory machine-readable medium of claim 10 , wherein the instructions are further to:

reset the computing device after receiving the replacement component firmware; and

replace in the computing device the corrupted component firmware with the replacement component firmware after the reset.

13 . The non-transitory machine-readable medium of claim 12 , wherein the instructions are further to detect a presence of the replacement component firmware during boot and, in response, replace in the computing device the corrupted component firmware with the replacement component firmware.

14 . The non-transitory machine-readable medium of claim 10 , wherein the instructions are to query the remotely maintained mapping by transmitting an identifier to a server that hosts the remotely maintained mapping and receiving, in response, an indication of the network address corresponding to the identifier.

15 . The non-transitory machine-readable medium of claim 10 , wherein the instructions are further to, in response to determining that no network connection is available, output a user alert to indicate that the corruption has been detected.

16 . A computing device comprising:

a network interface;

a processor connected to the network interface, the processor to:

receive from a remote computing device via the network interface an indication of a corrupted component firmware detected during pre-boot of the remote computing device;

determine a network address for a replacement component firmware by referencing a mapping of identifiers of component firmware to network addresses; and

transmit to the remote computing device via the network interface an indication of the network address.

17 . The computing device of claim 16 , wherein the processor is further to:

determine the network address for the replacement component firmware based on a version of the corrupted component firmware.

18 . The computing device of claim 16 , wherein the processor is further to:

receive from the remote computing device an identifier of a model of the remote computing device; and

determine the network address for the replacement component firmware based on the model of the remote computing device.

19 . The computing device of claim 16 , wherein the processor is further to receive an indication of the network address from a source of the replacement component firmware.

20 . The computing device of claim 16 , wherein the mapping represents a best known configuration (BKC) for elements of the component firmware.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 13, 2023
From: FENG, KANG-NING; HUNG, MING-CHANG; HUANG, WEI-CHIH
To: HEWLETT-PACKARD DEVELOPMENT COMPANY, L.P.
Reel/Frame 065861/0244 →
Continuity (1)
Related Publication 20240289223A1 · Aug 29, 2024
References Cited (15)
US 12210861B2 · Goel · 2025 [cited by examiner]
US 20040103347A1 · Sneed et al. · 2004 [cited by applicant]
US 20050229173A1 · Mihm · 2005 [cited by examiner]
US 20070204144A1 · Gafken · 2007 [cited by examiner]
US 20070294575A1 · Aichelen · 2007 [cited by examiner]
US 20090276612A1 · Holdaway · 2009 [cited by examiner]
US 20130125107A1 · Bandakka et al. · 2013 [cited by applicant]
US 20160098561A1 · Keller et al. · 2016 [cited by applicant]
US 20160373944A1 · Jain et al. · 2016 [cited by applicant]
US 20170242836A1 · Marez · 2017 [cited by examiner]
US 20180287996A1 · Tripathy et al. · 2018 [cited by applicant]
US 20200348946A1 · Pant et al. · 2020 [cited by applicant]
US 20210240589A1 · Samuel · 2021 [cited by examiner]
CN 113064637A · 2021 [cited by examiner]
EP 2817725B1 · 2020 [cited by examiner]