IP Library Granted Patent US 8,291,092
Granted Patent B2
US 8,291,092 · App. 13/464,219 · Granted Oct 16, 2012

Managing IPMI sessions

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 8,291,092
App. No.
13/464,219
Granted
Oct 16, 2012
Kind
B2
Abstract

Technologies are described herein for managing Intelligent Platform Management Interface (“IPMI”) sessions between an application module and a target IPMI device. A session abstraction layer module receives an IPMI request from the application module over a first communication link. The session abstraction layer module establishes an IPMI session with the target IPMI device over a second communication link and forwards the IPMI request to the target IPMI device via the established IPMI session. The session abstraction layer module then receives a response to the IPMI request from the target IPMI device via the established IPMI session, and forwards the response to the application module over the first communication link.

Claims (50)

1. An apparatus for managing Intelligent Platform Management Interface (“IPMI”) sessions between a plurality of application modules and a target IPMI device, the apparatus comprising:

a processor;

a memory area operatively connected to the processor; and

a session abstraction layer module stored in the memory area and configured to cause the processor to

receive a first IPMI request from a first application module of the application modules over a first communication link, the first IPMI request identifying the target IPMI device and the first application module,

receive a second IPMI request from a second application module of the application modules over a third communication link, the second IPMI request identifying the target IPMI device and the second application module,

forward the first IPMI request to the target IPMI device via a established first IPMI session between the apparatus and the target IPMI device over a second communication link,

forward the second IPMI request to the target IPMI device via the same established first IPMI session over the second communication link,

receive first and second responses to the first and second IPMI requests, respectively, from the target IPMI device via the same established first IPMI session over the second communication link,

forward the first response to the first application module over the first communication link, and

forward the second response to the second application module over the third communication link.

2. The apparatus of claim 1 , further comprising a session management data store comprising an IPMI session table and a pending request table, wherein the session abstraction layer module is further configured to cause the processor to:

upon receiving at least one of the first and second IPMI requests, search the IPMI session table to determine whether the first IPMI session has been established with the target IPMI device, and add at least one pending request entry corresponding to the at least one request to the pending request table; and

upon determining that the first IPMI session has not been established, establish the first IPMI session and add an IPMI session entry to the IPMI session table.

3. The apparatus of claim 1 , wherein the plurality of application modules comprises at least three application modules.

4. The apparatus of claim 1 , wherein the plurality of application modules comprises at least five application modules.

5. The apparatus of claim 1 , wherein the target IPMI device is one of a plurality of target IPMI devices communicatively connected to the session abstraction layer module.

6. A computer-readable storage medium having computer-executable instructions stored thereon that, when executed by a computer, cause the computer to:

receive a first IPMI request from a first application module of a plurality of application modules over a first communication link, the IPMI request identifying a target IPMI device and the first application module;

receive a second IPMI request from a second application module of the plurality of application modules over a third communication link, the IPMI request identifying the target IPMI device and the second application module;

forward the first IPMI request to the target IPMI device via a established first IPMI session between the computer and the target IPMI device over a second communication link;

forward the second IPMI request to the target IPMI device via the same established first IPMI session over the second communication link;

receive first and second responses to the first and second IPMI requests, respectively, from the target IPMI device via the same established first IPMI session over the second communication link;

forward the first response to the first application module over the first communication link; and

forward the second response to the second application module over the third communication link.

7. The computer-readable storage medium of claim 6 , further comprising computer-executable instructions stored thereon that, when executed by the computer, cause the computer to:

upon receiving at least one of the first and second IPMI requests from the first and second application modules, search an IPMI session table to determine whether the first IPMI session has been established with the target IPMI device, wherein the IPMI session table is stored in an IPMI session management data store, and wherein the IPMI session table comprises IPMI session entries; and

upon determining that the first IPMI session has not been established, establish the first IPMI session and add an IPMI session entry to the IPMI session table.

8. The non-transitory storage medium of claim 6 , wherein the plurality of application modules comprises at least three application modules.

9. The non-transitory storage medium of claim 6 , wherein the plurality of application modules comprises at least five application modules.

10. The non-transitory storage medium of claim 6 , wherein the at least one target IPMI device is one of a plurality of target IPMI devices.

11. A computer-implemented method for managing Intelligent Platform Management Interface (“IPMI”) sessions between a plurality of application modules and at least one target IPMI device, the computer-implemented method comprising:

(a1) receiving a first IPMI request from a first application module of the plurality of application modules over a first communication link, the first IPMI request identifying the target IPMI device and the first application module;

(a2) receiving a second IPMI request from a second application module of the plurality of application modules over a third communication link, the second IPMI request identifying the target IPMI device and the second application module;

(b) searching an IPMI session table to determine whether an IPMI session with the target IPMI device has already been established;

(c) in response to a determination that an IPMI session with the target IPMI device has not been established:

(i) establishing a first IPMI session with the target IPMI device over a second communication link;

(ii) sharing the established first IPMI session across the plurality of application modules; and

(iii) adding an IPMI session entry to the IPMI session table corresponding to the established first IPMI session;

(d) adding pending request entries corresponding to the first and second IPMI requests, respectively, to a pending request table;

(e) forwarding the first and second IPMI requests to the target IPMI device via the same established first IPMI session over the second communication link;

(f) receiving first and second responses to the first and second IPMI requests, respectively, from the target IPMI device via the established IPMI session over the second communication link;

(g1) determining the first application module to which to forward the first response by searching the pending request table;

(g2) determining the second application module to which to forward the second response by searching the pending request table;

(h1) forwarding the first response to the first application module over the first communication link; and

(h2) forwarding the second response to the second application module over the third communication link.

12. The computer-implemented method of claim 11 , wherein the at least one target IPMI device comprises a plurality of IPMI target devices and one IPMI session is established for each one of the plurality of IPMI target devices.

13. The computer-implemented method of claim 11 , wherein the plurality of application modules comprises at least three application modules.

14. The computer-implemented method of claim 11 , wherein the plurality of application modules comprises at least five application modules.

15. The computer-implemented method of claim 11 , wherein the at least one target IPMI device is one of a plurality of target IPMI devices.

Assignments (4)
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 →