IP Library Granted Patent US 9,779,047
Granted Patent B2
US 9,779,047 · App. 14/818,981 · Granted Oct 3, 2017

Universal intelligent platform management interface (IPMI) host to baseboard management controller (BMC) communication for non-x86 and legacy free systems

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,779,047
App. No.
14/818,981
Granted
Oct 3, 2017
Kind
B2
Abstract

Aspects of the disclosure relate to systems and methods for performing a universal Intelligent Platform Management Interface (IPMI) host-to-baseboard management controller (BMC) communication. The system includes a management device communicatively connected to a computing device through a communication link, such as a universal serial bus (USB) interface. In operation, the management device identifies itself to the computing device as a generic human interface device (HID) pipe device. Thus, a HID channel is established between the management device and the computing device through the USB interface. When the management device receives a first message from the computing device directed toward the generic HID pipe device through the HID channel, the management device may determine whether the message is an IPMI message intended for communicating with the management device. When the message is the IPMI message, the management device processes the IPMI message.

Claims (72)

1. A system, comprising:

a management device communicatively connected to a computing device through a communication link, the management device comprising a processor and a storage device storing computer executable code, wherein the computer executable code, when executed at the processor, is configured to:

identify the management device as a human interface device (HID) device to the computing device through the communication link, wherein a type of the identified HID device is a generic HID pipe device; and

in response to receiving a first message from the computing device directed toward the generic HID pipe device through the communication link,

determine whether the first message is an Intelligent Platform Management Interface (IPMI) message intended for communication with the management device, or an HID command intended for communication with the HID device; and

when the first message is the IPMI message, process the IPMI message,

wherein the computing device comprises:

a HID processing module configured to establish a HID channel to the HID device through the communication link; and

an IPMI processing module configured to, when the HID processing module identifies the HID device as the generic HID pipe device, generate the IPMI message to be transmitted to the generic HID pipe device, and transmit the IPMI message to the generic HID pipe device through the HID channel.

2. The system as claimed in claim 1 , wherein the management device is a baseboard management controller (BMC), and the computing device functions as a host computer to the BMC.

3. The system as claimed in claim 1 , wherein the computing device is a non-x86 computer device or a legacy free computing device.

4. The system as claimed in claim 1 , wherein the communication link is a universal serial bus (USB) link.

5. The system as claimed in claim 1 , wherein the HID processing module is further configured to:

recognize a device connected to the computing device through the communication link as the HID device; and

receive an identifying message from the recognized HID device to identify the type of the recognized HID device.

6. The system as claimed in claim 5 , wherein the type of the recognized HID device comprises a keyboard, a mouse, and the generic HID pipe device.

7. The system as claimed in claim 1 , wherein the computer executable code comprises:

an identification module configured to identify the management device as the generic HID pipe device to the computing device;

a determination module configured to determine whether the first message is the IPMI message or the HID command; and

an IPMI module configured to process the IPMI message.

8. The system as claimed in claim 7 , wherein the IPMI processing module is further configured to:

receive an IPMI response message in response to the IPMI message from the generic HID pipe device through the HID channel; and

process the IPMI response message.

9. The system as claimed in claim 8 , wherein the IPMI module is further configured to:

generate the IPMI response message in response to the IPMI message; and

transmit the IPMI response message to the computing device through the HID channel.

10. A method for performing a universal Intelligent Platform Management Interface (IPMI) communication between a management device and a computing device, comprising:

identifying, by the management device to the computing device through a communication link, the management device as a human interface device (HID) device, wherein a type of the identified HID device is a generic HID pipe device; and

in response to receiving, by the management device, a first message from the computing device directed toward the generic HID pipe device through the communication link,

determining, by the management device, whether the first message is an IPMI message intended for communication with the management device, or an HID command intended for communication with the HID device; and

when the first message is the IPMI message, processing, by the management device, the IPMI message,

wherein the computing device comprises:

a HID processing module configured to establish a HID channel to the HID device through the communication link, and

an IPMI processing module configured to, when the HID processing module identifies the HID device as the generic HID pipe device, generate the IPMI message to be transmitted to the generic HID pipe device, and transmit the IPMI message to the generic HID pipe device through the HID channel.

11. The method as claimed in claim 10 , wherein the management device is a baseboard management controller (BMC), the computing device functions as a host computer to the BMC, and the communication link is a universal serial bus (USB) link.

12. The method as claimed in claim 10 , wherein the computing device is a non-x86 computer device or a legacy free computing device.

13. The method as claimed in claim 10 , wherein

the HID processing module is further configured to:

recognize a device connected to the computing device through the communication link as the HID device; and

receive an identifying message from the recognized HID device to identify the type of the recognized HID device.

14. The method as claimed in claim 13 , wherein the type of the recognized HID device comprises a keyboard, a mouse, and the generic HID pipe device.

15. The method as claimed in claim 13 , wherein the IPMI processing module is further configured to:

receive an IPMI response message in response to the IPMI message from the generic HID pipe device through the HID channel; and

process the IPMI response message.

16. The method as claimed in claim 15 , further comprising:

generating, by the management device, the IPMI response message in response to the IPMI message; and

transmitting, by the management device, the IPMI response message to the computing device through the HID channel.

17. A non-transitory computer readable medium storing computer executable code, wherein the computer executable code, when executed at a processor of a management device, is configured to

identify the management device as a human interface device (HID) device to a computing device through a communication link, wherein a type of the identified HID device is a generic HID pipe device; and

in response to receiving a first message from the computing device directed toward the generic HID pipe device through the communication link,

determine whether the first message is an Intelligent Platform Management Interface (IPMI) message intended for communication with the management device, or an HID command intended for communication with the HID device; and

when the first message is the IPMI message, process the IPMI message,

wherein the computing device comprises:

a HID processing module configured to establish a HID channel to the HID device through the communication link, and

an IPMI processing module configured to, when the HID processing module identifies the HID device as the generic HID pipe device, generate the IPMI message to be transmitted to the generic HID pipe device, and transmit the IPMI message to the generic HID pipe device through the HID channel.

18. The non-transitory computer readable medium as claimed in claim 17 , wherein the management device is a baseboard management controller (BMC), the computing device functions as a host computer to the BMC, and the communication link is a universal serial bus (USB) link.

19. The non-transitory computer readable medium as claimed in claim 17 , wherein the computing device is a non-x86 computer device or a legacy free computing device.

20. The non-transitory computer readable medium as claimed in claim 17 , wherein the

HID processing module is further configured to:

recognize a device connected to the computing device through the communication link as the HID device; and

receive an identifying message from the recognized HID device to identify the type of the recognized HID device.

21. The non-transitory computer readable medium as claimed in claim 20 , wherein the type of the recognized HID device comprises a keyboard, a mouse, and the generic HID pipe device.

22. The non-transitory computer readable medium as claimed in claim 20 , wherein the computer executable code comprises:

an identification module configured to identify the management device as the generic HID pipe device to the computing device;

a determination module configured to determine whether the first message is the IPMI message or the HID command; and

an IPMI module configured to process the IPMI message.

23. The non-transitory computer readable medium as claimed in claim 22 , wherein the IPMI processing module is further configured to:

receive an IPMI response message in response to the IPMI message from the generic HID pipe device through the HID channel; and

process the IPMI response message.

24. The non-transitory computer readable medium as claimed in claim 23 , wherein the IPMI module is further configured to:

generate the IPMI response message in response to the IPMI message; and

transmit the IPMI response message to the computing device through the HID channel.

Assignments (4)
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 Aug 5, 2015
From: CHRISTOPHER, SAMVINESH; BHATIA, ANURAG; THANGAPANDIAN, WINSTON
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 036283/0735 →