IP Library Granted Patent US 10,764,108
Granted Patent B2
US 10,764,108 · App. 15/251,164 · Granted Sep 1, 2020

Unified data transfer via IPMI

Inventors: Satheesh Thomas (Dunwoody, GA); Muthuchamy Kumar (Chennai, IN)
Assignee: AMERICAN MEGATRENDS INTERNATIONAL, LLC
H04L41/0213
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,764,108
App. No.
15/251,164
Granted
Sep 1, 2020
Kind
B2
Abstract

In an aspect of the disclosure, a method, a computer-readable medium, and an apparatus are provided. The apparatus may be an embedded-system device. The embedded-system device receives at least one IPMI message from a client device. The embedded-system device extracts message data from the at least one IPMI message. The embedded-system device determines, from the message data, a function call including at least one operation code and for processing a data collection. The embedded-system device processes the data collection based on the at least one operation code. The disclosure describes a common implementation of data transfer and usage that can serve different clients as well as future features with zero or minimum redesign or redevelopment.

Claims (81)

1. A method of operating a system including a host computer and an embedded-system device, comprising:

calling, by a host application that is a software component running on a processor of the host computer, a data operation function running on the host computer with at least one operation code indicating an identity of a data collection and an identity of a first feature component of the embedded-system device holding the data collection, wherein the embedded-system device is a baseboard management controller (BMC) managing the host computer, wherein the BMC receives and stores data generated by a Basic Input/Output System (BIOS) executed on the processor of the host computer;

instructing, by the data operation function, an Intelligent Platform Management Interface (IPMI) message component of the host computer to send at least one IPMI message containing the at least one operation code to the embedded-system device;

receiving, at an IPMI component of the embedded-system device, the at least one IPMI message from the host computer;

extracting, at the IPMI component of the embedded-system device, message data from the at least one IPMI message;

sending the message data to a data operation component of the embedded-system device, the data operation component being different from the IPMI component;

determining, at the data operation component and from the message data, the at least one operation code;

determining, at the data operation component, the first feature component of the embedded-system device from a plurality of feature components based on the at least one operation code, each of the plurality of feature components being a software component executed on a processor of the embedded-system device; and

obtaining, at the data operation component, the data collection from the first feature component when the at least one operation code indicates a data request.

2. The method of claim 1 , further comprising:

determining to transfer the data collection to the first feature component when the at least one operation code indicates a data transfer;

locating the data collection in the message data; and

transferring the data collection to the first feature component.

3. The method of claim 2 , further comprising:

determining a data processing action based on the at least one operation code; and

performing the data processing action on the data collection, wherein the transferring the data collection to the first feature component is performed when the data processing action returns a predetermined result.

4. The method of claim 1 , further comprising:

determining that the at least one operation code indicates the data request prior to the obtaining the data collection from the first feature component; and

transferring the data collection to the host computer subsequent to the obtaining the data collection.

5. The method of claim 4 , further comprising:

determining a location of the data collection based on the at least one operation code, wherein the data collection is obtained from the location.

6. The method of claim 4 , wherein the transferring the data collection to the host computer includes:

constructing at least one response IPMI message;

including the data collection in message data of the at least one response IPMI message; and

sending the at least one response IPMI message to the host computer.

7. An apparatus, the apparatus being a system including

a host computer comprising:

a first memory; and

first at least one processor coupled to the first memory and configured to:

call, by a host application that is a software component running on the first at least one processor of the host computer, a data operation function running on the host computer with at least one operation code indicating an identity of a data collection and an identity of a first feature component of embedded-system device holding the data collection, wherein the embedded-system device is a baseboard management controller (BMC) managing the host computer, wherein the BMC receives and stores data generated by a Basic Input/Output System (BIOS) executed on the processor of the host computer;

instruct, by the data operation function, an Intelligent Platform Management Interface (IPMI) message component of the host computer to send at least one IPMI message containing the at least one operation code to the embedded-system device;

and an embedded-system device comprising:

a second memory; and

second at least one processor coupled to the second memory and configured to:

receive, at an IPMI component of the embedded-system device, at least one IPMI message from the host computer;

extract, at the IPMI component of the embedded-system device, message data from the at least one IPMI message;

send the message data to a data operation component of the embedded-system device, the data operation component being different from the IPMI component;

determine, at the data operation component and from the message data, the at least one operation code;

determine, at the data operation component, the first feature component of the embedded-system device from a plurality of feature components based on the at least one operation code, each of the plurality of feature components being a software component executed on the second at least one processor of the embedded-system device; and

obtain, at the data operation component, the data collection from the first feature component when the at least one operation code indicates a data request.

8. The apparatus of claim 7 , wherein the second at least one processor is further configured to:

determine to transfer the data collection to the first feature component when the at least one operation code indicates a data transfer;

locate the data collection in the message data; and

transfer the data collection to the first feature component.

9. The apparatus of claim 8 , wherein the second at least one processor is further configured to:

determine a data processing action based on the at least one operation code; and

perform the data processing action on the data collection, wherein the transferring the data collection to the first feature component is performed when the data processing action returns a predetermined result.

10. The apparatus of claim 7 , wherein the second at least one processor is further configured to:

determining that the at least one operation code indicates the data request prior to the obtaining the data collection from the first feature component; and

transfer the data collection to the host computer subsequent to the obtaining the data collection.

11. The apparatus of claim 10 , wherein the second at least one processor is further configured to:

determine a location of the data collection based on the at least one operation code, wherein the data collection is obtained from the location.

12. The apparatus of claim 10 , wherein to transfer the data collection to the host computer, the second at least one processor is further configured to:

construct at least one response IPMI message;

include the data collection in message data of the at least one response IPMI message; and

send the at least one response IPMI message to the host computer.

13. A non-transitory computer-readable medium storing computer executable code for operating a system including a host computer and an embedded-system device, comprising code to:

call, by a host application that is a software component running on a processor of the host computer, a data operation function running on the host computer with at least one operation code indicating an identity of a data collection and an identity of a first feature component of the embedded-system device holding the data collection, wherein the embedded-system device is a baseboard management controller (BMC) managing the host computer, wherein the BMC receives and stores data generated by a Basic Input/Output System (BIOS) executed on the processor of the host computer;

instruct, by the data operation function, an Intelligent Platform Management Interface (IPMI) message component of the host computer to send at least one IPMI message containing the at least one operation code to the embedded-system device;

receive, at an IPMI component of the embedded-system device, at least one IPMI message from the host computer;

extract, at the IPMI component of the embedded-system device, message data from the at least one IPMI message;

send the message data to a data operation component of the embedded-system device, the data operation component being different from the IPMI component;

determine, at the data operation component and from the message data, a the at least one operation code; and

determine, at the data operation component, the first feature component of the embedded system device from a plurality of feature components based on the at least one operation code, each of the plurality of feature components being a software component executed on a processor of the embedded-system device; and

obtain, at the data operation component, the data collection from the first feature component when the at least one operation code indicates a data request.

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

determine to transfer the data collection to the first feature component based on the at least one operation code;

locate the data collection in the message data; and

transfer the data collection to the first feature component.

15. The non-transitory computer-readable medium of claim 14 , wherein the code is further configured to:

determine a data processing action based on the at least one operation code; and

perform the data processing action on the data collection, wherein the transferring the data collection to the first feature component is performed when the data processing action returns a predetermined result.

16. The non-transitory computer-readable medium of claim 13 , wherein the code is further configured to:

determining that the at least one operation code indicates the data request prior to the obtain the data collection from the first feature component; and

transfer the data collection to the host computer subsequent to the obtaining the data collection.

17. The non-transitory computer-readable medium of claim 16 , wherein the code is further configured to:

determine a location of the data collection based on the at least one operation code, wherein the data collection is obtained from the location;

wherein to transfer the data collection to the host computer, the code is further configured to:

construct at least one response IPMI message;

include the data collection in message data of the at least one response IPMI message; and

send the at least one response IPMI message to the host computer.

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 Aug 30, 2016
From: THOMAS, SATHEESH; KUMAR, MUTHUCHAMY
To: AMERICAN MEGATRENDS, INC.
Reel/Frame 039582/0168 →
Continuity (1)
Related Publication 20180063225A1 · Mar 1, 2018