IP Library Granted Patent US 9,806,959
Granted Patent B2
US 9,806,959 · App. 14/818,803 · Granted Oct 31, 2017

Baseboard management controller (BMC) to host communication through device independent universal serial bus (USB) interface

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,806,959
App. No.
14/818,803
Granted
Oct 31, 2017
Kind
B2
Abstract

Aspects of the disclosure relate to systems and methods for performing communications between a management device and a host computer through a device independent universal serial bus (USB) interface. The system includes a management device communicatively connected to a computing device through a first communication link. In operation, the management device emulates a mass storage device to the computing device through the first communication link, and then identifies the emulated mass storage device as an unsupported mass storage device to the computing device, such that the emulated mass storage device is accessible by the computing device as a bulk-only device. Thus, Intelligent Platform Management Interface (IPMI) communications between the management device and the computing device may be performed using the bulk-only device mechanism.

Claims (77)

1. A system, comprising:

a management device communicatively connected to a computing device through a first 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:

emulate the management device as a mass storage device to the computing device through the first communication link;

identify the emulated mass storage device as an unsupported mass storage device to the computing device, such that the emulated mass storage device is accessible by the computing device as a bulk-only device; and

in response to receiving a first message from the computing device directed toward the bulk-only device through the first communication link,

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

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

wherein the computing device comprises:

a mass storage processing module, configured to identify the emulated mass storage device to be the unsupported mass storage device, and

an IPMI processing module, configured to recognize the emulated mass storage device as an accessible bulk-only device, generate the IPMI message to be directed to the bulk-only device and transmit the IPMI message to the bulk-only device through the first communication link.

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 first communication link is a universal serial bus (USB) link.

4. The system as claimed in claim 1 , wherein the computer executable code, when executed at the processor, is further configured to:

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

transmit the IPMI response message to the computing device through the first communication link, wherein the computing device is configured to receive the IPMI response message as a response message from the bulk-only device.

5. The system as claimed in claim 4 , wherein the computer executable code comprises:

an emulation module configured to emulate the management device as the mass storage device to the computing device, and to identify the emulated mass storage device as the unsupported mass storage device to the computing device;

a determination module configured to determine whether the first message is the IPMI message or the non-IPMI message; and

an IPMI module configured to process the IPMI message, generate the IPMI response message, and transmit the IPMI response message to the computing device.

6. The system as claimed in claim 5 , wherein the emulation module is configured to identify the emulated mass storage device as the unsupported mass storage device to the computing device by:

receiving a small computer systems interface (SCSI) command from the computing device to detect a type of the emulated mass storage device; and

in response to receiving the SCSI command, transmitting a response to the computing device to indicate the emulated mass storage device as the unsupported mass storage device.

7. The system as claimed in claim 6 , wherein the mass storage processing module is further configured to:

recognize a device connected to the computing device through the first communication link as a mass storage device;

transmit the SCSI command to the recognized mass storage device to detect a type of the recognized mass storage device; and

receive a response to the SCSI command from the recognized mass storage device to indicate the type of the recognized mass storage device.

8. The system as claimed in claim 7 , wherein the type of the recognized mass storage device comprises a CD-ROM device, a hard disk (HD) device, a floppy disk drive device, and the unsupported mass storage device.

9. The system as claimed in claim 7 , wherein when the response indicates the type of the recognized mass storage device to be the unsupported mass storage device, the mass storage processing module is configured to identify the unsupported mass storage device as the accessible bulk-only device.

10. A method for performing communications between a management device and a host computer, the method comprising:

emulating, by the management device, a mass storage device to a computing device through a first communication link, wherein the computing device functions as the host computer of the management device;

identifying, by the management device, the emulated mass storage device as an unsupported mass storage device to the computing device, such that the emulated mass storage device is accessible by the computing device as a bulk-only device; and

in response to receiving, at the management device, a first message from the computing device directed toward the bulk-only device through the first communication link,

determining, by the management device, whether the first message is an Intelligent Platform Management Interface (IPMI) message intended for communication with the management device, or a non-IPMI message; and

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

wherein the computing device comprises:

a mass storage processing module, configured to identify the emulated mass storage device to be the unsupported mass storage device, and

an IPMI processing module, configured to recognize the emulated mass storage device as an accessible bulk-only device, generate the IPMI message to be directed to the bulk-only device and transmit the IPMI message to the bulk-only device through the first communication link.

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

12. The method as claimed in claim 10 , further comprising:

generating, at the management device, an 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 first communication link, wherein the computing device is configured to receive the IPMI response message as a response message from the bulk-only device.

13. The method as claimed in claim 10 , wherein the emulated mass storage device is identified as the unsupported mass storage device to the computing device by:

receiving, by the management device, a small computer systems interface (SCSI) command from the computing device to detect a type of the emulated mass storage device; and

in response to receiving the SCSI command, transmitting, by the management device, a response to the computing device to indicate the emulated mass storage device as the unsupported mass storage device.

14. The method as claimed in claim 13 , wherein the mass storage processing module is further configured to:

recognize a device connected to the computing device through the first communication link as a mass storage device;

transmit the SCSI command to the recognized mass storage device to detect a type of the recognized mass storage device; and

receive a response to the SCSI command from the recognized mass storage device to indicate the type of the recognized mass storage device.

15. The method as claimed in claim 14 , wherein the type of the recognized mass storage device comprises a CD-ROM device, a hard disk (HD) device, a floppy disk drive device, and the unsupported mass storage device.

16. The method as claimed in claim 14 , wherein when the response indicates the type of the recognized mass storage device to be the unsupported mass storage device, the mass storage processing module is configured to identify the unsupported mass storage device as the accessible bulk-only device.

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

emulate the management device as a mass storage device to a computing device through a first communication link, wherein the management device is communicatively connected to the computing device through the first communication link;

identify the emulated mass storage device as an unsupported mass storage device to the computing device, such that the emulated mass storage device is accessible by the computing device as a bulk-only device; and

in response to receiving a first message from the computing device directed toward the bulk-only device through the first communication link,

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

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

wherein the computing device comprises:

a mass storage processing module, configured to identify the emulated mass storage device to be the unsupported mass storage device, and

an IPMI processing module, configured to recognize the emulated mass storage device as an accessible bulk-only device, generate the IPMI message to be directed to the bulk-only device and transmit the IPMI message to the bulk-only device through the first communication link.

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 first communication link is a universal serial bus (USB) link.

19. The non-transitory computer readable medium as claimed in claim 17 , the computer executable code, when executed at the processor, is further configured to:

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

transmit the IPMI response message to the computing device through the first communication link, wherein the computing device is configured to receive the IPMI response message as a response message from the bulk-only device.

20. The non-transitory computer readable medium as claimed in claim 19 ,

wherein the computer executable code comprises:

an emulation module configured to emulate the management device as the mass storage device to the computing device, and to identify the emulated mass storage device as the unsupported mass storage device to the computing device;

a determination module configured to determine whether the first message is the IPMI message or the non-IPMI message; and

an IPMI module configured to process the IPMI message, generate the IPMI response message, and transmit the IPMI response message to the computing device.

21. The non-transitory computer readable medium as claimed in claim 20 , wherein the emulation module is configured to identify the emulated mass storage device as the unsupported mass storage device to the computing device by:

receiving a small computer systems interface (SCSI) command from the computing device to detect a type of the emulated mass storage device; and

in response to receiving the SCSI command, transmitting a response to the computing device to indicate the emulated mass storage device as the unsupported mass storage device.

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

recognize a device connected to the computing device through the first communication link as a mass storage device;

transmit the SCSI command to the recognized mass storage device to detect a type of the recognized mass storage device; and

receive a response to the SCSI command from the recognized mass storage device to indicate the type of the recognized mass storage device.

23. The non-transitory computer readable medium as claimed in claim 22 , wherein the type of the recognized mass storage device comprises a CD-ROM device, a hard disk (HD) device, a floppy disk drive device, and the unsupported mass storage device.

24. The non-transitory computer readable medium as claimed in claim 22 , wherein when the response indicates the type of the recognized mass storage device to be the unsupported mass storage device, the mass storage processing module is configured to identify the unsupported mass storage device as the accessible bulk-only device.

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/0256 →