IP Library Granted Patent US 10,853,052
Granted Patent B1
US 10,853,052 · App. 16/556,569 · Granted Dec 1, 2020

Peripheral device firmware update using rest over IPMI interface firmware shell utility

Inventors: Igor Kulchytskyy (Lawrenceville, GA); Chandrasekar Rathineswaran (Cumming, GA); Harikrishna Doppalapudi (Norcross, GA); Purandhar Nallagatla (Johns Creek, GA); Madhan B. Santharam (Cumming, GA)
Assignee: American Megatrends International, LLC
G06F8/65G06F13/36G06F21/572G06F9/4401G06F21/575G06F2221/034
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 10,853,052
App. No.
16/556,569
Granted
Dec 1, 2020
Kind
B1
Abstract

Technologies are described herein for a representational state transfer (“REST” or “RESTful”) over IPMI interface for firmware to BMC communication and applications thereof. These applications include, but are not limited to, remote firmware configuration, firmware updates, peripheral device firmware updates, provision of management information such as system inventory data, cloning and batch migration of firmware configuration settings, and firmware integrity monitoring. This functionality can be provided in a way that enables communication between BMCs and firmware to utilize modern manageability interfaces while maintaining backward compatibility with previous IPMI implementations.

Claims (37)

1. A computer-implemented method for updating a firmware of a peripheral device of a computing system, comprising:

transmitting a request for a firmware update instruction for the peripheral device from a firmware of the computing system to a baseboard management controller (BMC) over a representational state transfer (REST) over intelligent platform management interface (IPMI) interface;

identifying a location of a peripheral device firmware image transmitted from the BMC to the firmware of the computing system using original equipment manufacturer (OEM) IPMI commands containing REST Hypertext Transfer Protocol (HTTP) requests;

retrieving, by way of the firmware of the computing system, the peripheral device firmware image from the location of the peripheral device firmware image;

executing a firmware shell utility in a shell environment provided by the firmware of the computing system; and

updating, by way of the firmware shell utility, the firmware of the peripheral device using an updated peripheral device firmware.

2. The computer-implemented method of claim 1 , wherein identifying the location of the peripheral device firmware image is responsive to receiving the request at the BMC.

3. The computer-implemented method of claim 1 , wherein the peripheral device firmware image comprises a firmware script, the firmware shell utility, and the updated peripheral device firmware.

4. The computer-implemented method of claim 1 , further comprising providing, by way of the firmware of the computing system, the shell environment, and executing the firmware shell utility in the shell environment.

5. The computer-implemented method of claim 1 , wherein the peripheral device comprises a PCIe device.

6. The computer-implemented method of claim 1 , wherein the peripheral device firmware image comprises a PCIe firmware.

7. The computer-implemented method of claim 1 , wherein the BMC provides the peripheral device firmware image to the firmware update module.

8. The computer-implemented method of claim 1 , wherein the computing system identifies the location of the peripheral device firmware image transmitted from the BMC to the firmware of the computing system by way of non-standard data stored in a standard property.

9. The computer-implemented method of claim 8 , wherein the standard property comprises a property for identifying a location of a boot device.

10. The computer-implemented method of claim 1 , wherein the computing system identifies the location of the peripheral device firmware image using a JavaScript Object Notation (JSON) format based on an Open Data Protocol (OData).

11. A non-transitory computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by a computing system, cause the computing system to:

transmit a request for a firmware update instruction for a peripheral device from a firmware of the computing system to a baseboard management controller (BMC) over a representational state transfer (REST) over intelligent platform management interface (IPMI) interface;

identify a location of a peripheral device firmware image transmitted from the BMC to the firmware of the computing system using original equipment manufacturer (OEM) IPMI commands containing REST Hypertext Transfer Protocol (HTTP) requests;

retrieve, by way of the firmware of the computing system, the peripheral device firmware image from the location of the peripheral device firmware image;

execute a firmware shell utility in a shell environment provided by the firmware of the computing system; and

update, by way of the firmware shell utility, the firmware of the peripheral device using an updated peripheral device firmware.

12. The non-transitory computer-readable storage medium of claim 11 , having further instructions stored thereupon to identify the location of the peripheral device firmware image responsive to receiving the request at the BMC.

13. The non-transitory computer-readable storage medium of claim 11 , wherein the peripheral device firmware image comprises a firmware script, the firmware shell utility, and the updated peripheral device firmware.

14. The non-transitory computer-readable storage medium of claim 11 , having further instructions stored thereupon to provide, by way of the firmware of the computing system, the shell environment, and execute the firmware shell utility in the shell environment.

15. The non-transitory computer-readable storage medium of claim 11 , wherein the peripheral device comprises a PCIe device.

16. The non-transitory computer-readable storage medium of claim 11 , wherein the peripheral device firmware image comprises a PCIe firmware.

17. The non-transitory computer-readable storage medium of claim 11 , having further instructions stored thereupon to cause the BMC to provide the peripheral device firmware image to the firmware update module.

18. The non-transitory computer-readable storage medium of claim 11 , having further instructions stored thereupon to cause the computing system to identify the location of the peripheral device firmware image transmitted from the BMC to the firmware of the computing system by way of non-standard data stored in a standard property.

19. The non-transitory computer-readable storage medium of claim 18 , wherein the standard property comprises a property for identifying a location of a boot device.

20. A computing system, comprising:

one or more processors; and

at least one non-transitory computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by the one or more processors, cause the computing system to:

transmit a request for a firmware update instruction for a peripheral device from a firmware of the computing system to a baseboard management controller (BMC) over a representational state transfer (REST) over intelligent platform management interface (IPMI) interface;

identify a location of a peripheral device firmware image transmitted from the BMC to the firmware of the computing system using original equipment manufacturer (OEM) IPMI commands containing REST Hypertext Transfer Protocol (HTTP) requests;

retrieve, by way of the firmware of the computing system, the peripheral device firmware image from the location of the peripheral device firmware image;

execute a firmware shell utility in a shell environment provided by the firmware of the computing system; and

update, by way of the firmware shell utility, the firmware of the peripheral device using an updated peripheral device firmware.

Assignments (5)
PATENT SECURITY AGREEMENT Recorded Oct 23, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: BAIN CAPITAL CREDIT, LP, AS ADMINISTRATIVE AGENT AND COLLATERAL AGENT
Reel/Frame 069229/0834 →
RELEASE OF SECURITY INTEREST Recorded Oct 17, 2024
From: MIDCAP FINANCIAL TRUST
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 069205/0948 →
SECURITY INTEREST Recorded Apr 30, 2024
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 067274/0834 →
ENTITY CONVERSION Recorded Feb 26, 2020
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 052026/0523 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2019
From: KULCHYTSKYY, IGOR; RATHINESWARAN, CHANDRASEKAR; DOPPALAPUDI, HARIKRISHNA; NALLAGATLA, PURANDHAR; SANTHARAM, MADHAN B.
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 050228/0216 →