IP Library Granted Patent US 10,776,286
Granted Patent B1
US 10,776,286 · App. 15/893,503 · Granted Sep 15, 2020

Rest over IPMI interface for firmware to BMC communication

Inventors: Igor Kulchytskyy (Norcross, GA); Harikrishna Doppalapudi (Norcross, GA); Purandhar Nallagatla (Johns Creek, GA); Winston Thangapandian (Suwanee, GA)
Assignee: American Megatrends International, LLC
G06F13/102G06F8/65G06F9/44505G06F9/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,776,286
App. No.
15/893,503
Granted
Sep 15, 2020
Kind
B1
Abstract

Technologies are described herein for a representational state transfer (“REST” or “RESTful”) over an Intelligent Platform Management Interface (“IPMI”) interface for firmware to a baseboard management controller (“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 (77)

1. A computer-implemented method, comprising:

executing a first driver in a firmware of a computing system to:

obtain management data for the computing system, and

generate a representational state transfer (REST) Hypertext Transfer Protocol (HTTP) request comprising the management data to an interface exposed by a second driver executing in the firmware; and

executing the second driver in the firmware of the computing system to:

generate an original equipment manufacturer (OEM) intelligent platform management interface (IPMI) command comprising the REST HTTP request; and

provide the OEM IPMI command to a baseboard management controller (BMC) of the computing system.

2. The computer-implemented method of claim 1 , wherein the BMC comprises an IPMI agent configured to:

receive the OEM IPMI command from the second driver executing in the firmware of the computing system;

retrieve the REST HTTP request from the OEM IPMI command; and

provide the REST HTTP request to the interface exposed by a management server of the BMC.

3. The computer-implemented method of claim 2 , wherein the management server is configured to:

receive the REST HTTP request comprising the management data from the IPMI agent;

store the management data; and

receive and respond to a request received from a management client for the management data.

4. The computer-implemented method of claim 3 , wherein the management server is further configured to:

generate a REST HTTP response to the REST HTTP request; and

provide the REST HTTP response to an interface exposed by the IPMI agent.

5. The computer-implemented method of claim 4 , wherein the IPMI agent is further configured to:

receive the REST HTTP response from the management server;

generate an OEM IPMI response comprising the REST HTTP response; and

provide the OEM IPMI response comprising the REST HTTP response to the second driver.

6. The computer-implemented method of claim 5 , wherein the second driver is further configured to:

receive the OEM IPMI response comprising the REST HTTP response from the IPMI agent;

retrieve the REST HTTP response from the OEM IPMI response received from the IPMI agent; and

provide the REST HTTP response to an interface exposed by the first driver.

7. The computer-implemented method of claim 1 , wherein the management data is expressed using a JavaScript Object Notation (JSON) format based on an Open Data Protocol (OData).

8. The computer-implemented method of claim 1 , wherein the management data is obtained at a boot time of the computing system.

9. 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:

execute a first driver in a firmware of the computing system to:

obtain management data for the computing system, and

generate a representational state transfer (REST) Hypertext Transfer Protocol (HTTP) request comprising the management data to an interface exposed by a second driver executing in the firmware; and

execute the second driver in the firmware of the computing system to:

generate an original equipment manufacturer (OEM) intelligent platform management interface (IPMI) command comprising the REST HTTP request; and

provide the OEM IPMI command to a baseboard management controller (BMC) of the computing system.

10. The non-transitory computer-readable storage medium of claim 9 , wherein the BMC comprises an IPMI agent configured to:

receive the OEM IPMI command from the second driver executing in the firmware of the computing system;

retrieve the REST HTTP request from the OEM IPMI command; and

provide the REST HTTP request to the interface exposed by a management server of the BMC.

11. The non-transitory computer-readable storage medium of claim 10 , wherein the management server is configured to:

receive the REST HTTP request comprising the management data from the IPMI agent;

store the management data; and

receive and respond to a request received from a management client for the management data.

12. The non-transitory computer-readable storage medium of claim 11 , wherein the management server is further configured to:

generate a REST HTTP response to the REST HTTP request; and

provide the REST HTTP response to an interface exposed by the IPMI agent.

13. The non-transitory computer-readable storage medium of claim 10 , wherein the IPMI agent is further configured to:

receive a REST HTTP response from the management server;

generate an OEM IPMI response comprising the REST HTTP response; and

provide the OEM IPMI response comprising the REST HTTP response to the second driver.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the second driver is further configured to:

receive the OEM IPMI response comprising the REST HTTP response from the IPMI agent;

retrieve the REST HTTP response from the OEM IPMI response received from the IPMI agent; and

provide the REST HTTP response to an interface exposed by the first driver.

15. The non-transitory computer-readable storage medium of claim 9 , wherein the management data is expressed using a JavaScript Object Notation (JSON) format based on an Open Data Protocol (OData).

16. The non-transitory computer-readable storage medium of claim 9 , wherein the management data is obtained at a boot time of the computing system.

17. A computing system, comprising:

one or more processors;

a baseboard management controller (BMC); 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:

execute a first driver in a firmware of the computing system to:

obtain management data for the computing system, and

generate a representational state transfer (REST) Hypertext Transfer Protocol (HTTP) request comprising the management data to an interface exposed by a second driver executing in the firmware; and

execute the second driver in the firmware of the computing system to:

generate an original equipment manufacturer (OEM) intelligent platform management interface (IPMI) command comprising the REST HTTP request; and

provide the OEM IPMI command to the BMC of the computing system.

18. The computing system of claim 17 , wherein the BMC comprises an IPMI agent configured to:

receive the OEM IPMI command from the second driver executing in the firmware of the computing system;

retrieve the REST HTTP request from the OEM IPMI command; and

provide the REST HTTP request to an interface exposed by a management server of the BMC.

19. The computing system of claim 18 , wherein the management server is configured to:

receive the REST HTTP request comprising the management data from the IPMI agent;

store the management data; and

receive and respond to a request received from a management client for the management data.

20. The computing system of claim 19 , wherein the management server is further configured to:

generate a REST HTTP response to the REST HTTP request; and

provide the REST HTTP response to an interface exposed by the IPMI agent.

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/0795 →
SECURITY INTEREST Recorded May 6, 2019
From: AMERICAN MEGATRENDS INTERNATIONAL, LLC
To: MIDCAP FINANCIAL TRUST, AS COLLATERAL AGENT
Reel/Frame 049087/0266 →
ENTITY CONVERSION Recorded Apr 15, 2019
From: AMERICAN MEGATRENDS, INC.
To: AMERICAN MEGATRENDS INTERNATIONAL, LLC
Reel/Frame 049091/0973 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 13, 2018
From: KULCHYTSKYY, IGOR; DOPPALAPUDI, HARIKRISHNA; NALLAGATLA, PURANDHAR; THANGAPANDIAN, WINSTON
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 044910/0061 →