IP Library Granted Patent US 9,213,537
Granted Patent B2
US 9,213,537 · App. 14/504,078 · Granted Dec 15, 2015

Robust firmware update with recovery logic

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,213,537
App. No.
14/504,078
Granted
Dec 15, 2015
Kind
B2
Abstract

Systems and methods for updating firmware include a firmware update module executing on a client device. A firmware package to be installed on the client device may be verified by the firmware update module, including verifying that firmware files included in the firmware package are intact prior to beginning a firmware update. Recovery logic for enabling a client device to boot-up from a functional partition after a failed firmware update may be provided. The recovery logic may ensure that, when a firmware update failure occurs, the client device may boot-up from a functional partition. A recovery process may back up certain components stored in the client device. An update status related to the firmware update process may be provided.

Claims (67)

1. A computer-implemented method for updating firmware components of a client device, the method comprising:

receiving a firmware update configuration file at the client device via a network, wherein the firmware update configuration file identifies a firmware repository server and at least one firmware update package, respectively, for at least one firmware update;

based on the firmware update configuration file, determining a network address for the firmware repository server;

using the network address, confirming with the firmware repository server that the firmware updates specified in the firmware update configuration file are available from the firmware repository server;

receiving, on the client device, from the firmware repository server, a first firmware update package for a first firmware update, wherein the first firmware update package is identified in the firmware update configuration file;

validating contents of the first firmware update package;

performing a backup of a firmware component installed on the client device, the firmware component corresponding to the first firmware update; and

installing the first firmware update on the client device, including updating the firmware component.

2. The method of claim 1 , wherein confirming with the repository server includes:

confirming, for each of the firmware updates specified in the firmware update configuration file, that a first package name and a first package size identified in the firmware update configuration file is the same as a second package name and a second package size stored at the firmware repository server.

3. The method of claim 1 , wherein the first firmware update includes firmware for at least one of:

a master boot record (MBR);

a basic input/output system (BIOS);

a complementary metal-oxide-semiconductor (CMOS) memory;

a firmware update module; and

an operating system.

4. The method of claim 1 , wherein the network is a local area network.

5. The method of claim 1 , wherein the network address for the firmware repository server corresponds to a private network.

6. The method of claim 1 , wherein the network address for the firmware repository server corresponds to a public network.

7. The method of claim 1 , further comprising:

receiving an indication that the installing of the first firmware update has failed; and

in response to the indication, restoring the firmware component from the backup.

8. Non-transitory computer-readable memory media storing instructions executable by a processor to update firmware components of a client device, the instructions including instructions to:

receive a firmware update configuration file at the client device via a network, wherein the firmware update configuration file identifies a firmware repository server and at least one firmware update package, respectively, for at least one firmware update;

based on the firmware update configuration file, determine a network address for the firmware repository server;

using the network address, confirm with the firmware repository server that the firmware updates specified in the firmware update configuration file are available from the firmware repository server;

receive, on the client device, from the firmware repository server, a first firmware update package for a first firmware update, wherein the first firmware update package is identified in the firmware update configuration file;

validate contents of the first firmware update package;

perform a backup of a firmware component installed on the client device, the firmware component corresponding to the first firmware update; and

install the first firmware update on the client device, including updating the firmware component.

9. The memory media of claim 8 , wherein the instructions to confirm with the repository server include instructions to:

confirm, for each of the firmware updates specified in the firmware update configuration file, that a first package name and a first package size identified in the firmware update configuration file is the same as a second package name and a second package size stored at the firmware repository server.

10. The memory media of claim 8 , wherein the first firmware update includes firmware for at least one of:

a master boot record (MBR);

a basic input/output system (BIOS);

a complementary metal-oxide-semiconductor (CMOS) memory;

a firmware update module; and

an operating system.

11. The memory media of claim 8 , wherein the network is a local area network.

12. The memory media of claim 8 , wherein the network address for the firmware repository server corresponds to a private network.

13. The memory media of claim 8 , wherein the network address for the firmware repository server corresponds to a public network.

14. The memory media of claim 8 , further comprising instructions to:

receive an indication that the instructions to install the first firmware update have failed; and

in response to the indication, restore the firmware component from the backup.

15. A computer system to update firmware components, the computer system comprising:

a processor communicatively coupled to memory media, wherein the memory media store instructions executable by the processor to:

receive a firmware update configuration file via a network, wherein the firmware update configuration file identifies a firmware repository server and at least one firmware update package, respectively, for at least one firmware update;

based on the firmware update configuration file, determine a network address for the firmware repository server;

using the network address, confirm with the firmware repository server that the firmware updates specified in the firmware update configuration file are available from the firmware repository server;

receive from the firmware repository server, a first firmware update package for a first firmware update, wherein the first firmware update package is identified in the firmware update configuration file;

validate contents of the first firmware update package;

perform a backup of a firmware component installed on the computer system, the firmware component corresponding to the first firmware update; and

install the first firmware update, including updating the firmware component.

16. The computer system of claim 15 , wherein the instructions to confirm with the repository server include instructions to:

confirm, for each of the firmware updates specified in the firmware update configuration file, that a first package name and a first package size identified in the firmware update configuration file is the same as a second package name and a second package size stored at the firmware repository server.

17. The computer system of claim 15 , wherein the first firmware update includes firmware for at least one of:

a master boot record (MBR);

a basic input/output system (BIOS);

a complementary metal-oxide-semiconductor (CMOS) memory;

a firmware update module; and

an operating system.

18. The computer system of claim 15 , wherein the network is a local area network.

19. The computer system of claim 15 , wherein the network address for the firmware repository server corresponds to a private network.

20. The computer system of claim 15 , wherein the network address for the firmware repository server corresponds to a public network.

21. The computer system of claim 15 , further comprising instructions to:

receive an indication that the instructions to install the first firmware update have failed; and

in response to the indication, restore the firmware component from the backup.

Assignments (16)
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 →
MERGER Recorded May 13, 2022
From: WYSE TECHNOLOGY L.L.C.
To: DELL MARKETING CORPORATION
Reel/Frame 060064/0586 →
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: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; 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 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 034591 FRAME 0391 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL PRODUCTS L.P.
Reel/Frame 040027/0719 →
RELEASE OF REEL 034590 FRAME 0731 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL PRODUCTS L.P.
Reel/Frame 040027/0070 →
RELEASE OF REEL 034590 FRAME 0696 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL PRODUCTS L.P.
Reel/Frame 040016/0964 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Dec 10, 2014
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 034591/0391 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Dec 10, 2014
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 034590/0731 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Dec 10, 2014
From: DELL PRODUCTS L.P.; DELL SOFTWARE INC.; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 034590/0696 →
CHANGE OF NAME Recorded Oct 1, 2014
From: WYSE TECHNOLOGY INC.
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 033880/0586 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 1, 2014
From: BANDAKKA, JYOTHI; VENKATANARANAPPA, SRIDHARA CHINYA
To: WYSE TECHNOLOGY INC.
Reel/Frame 033865/0567 →