IPMI Session Abstraction Layer for Concurrent Module Access
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The IPMI protocol limits the number of sessions that can be established with a target IPMI device, restricting the number of application modules that can communicate with it simultaneously, which becomes a problem in environments where more than four modules need to continuously poll for data.
Innovation Solution
The session abstraction layer module establishes an IPMI session with a target IPMI device and shares it across multiple application modules, allowing more than four modules to communicate concurrently without establishing individual sessions with the device.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If individual IPMI sessions are established between each application module and target IPMI device, then communication reliability is ensured, but the number of concurrent application modules is limited to four due to protocol session limits
Solution Approach 1:
A session manager component is introduced as an intermediary between application modules and the target IPMI device. The session manager establishes and maintains IPMI sessions, while application modules communicate with the session manager through a simplified interface. This mediator handles session creation, maintenance, and teardown, allowing multiple application modules to access the target device without each needing to manage individual sessions.
Solution Approach 2:
The session manager provides universal session management capabilities that serve multiple application modules simultaneously. Instead of each application module requiring its own dedicated session management logic, a single multi-functional session manager handles sessions for all application modules, enabling more than four concurrent accesses to the target IPMI device through session pooling and multiplexing.
2Adaptability or versatility
If multiple IPMI sessions are established to support more than four application modules, then adaptability is improved, but bandwidth consumption increases due to excessive network traffic for session establishment and maintenance
Solution Approach 1:
Multiple application module requests are merged and routed through a limited number of shared IPMI sessions to the target device. The session manager consolidates traffic from multiple application modules into fewer underlying IPMI sessions, reducing the total number of session establishment and maintenance operations. This merging approach allows many application modules to access the target device while consuming bandwidth equivalent to only a few sessions.
3Reliability
If individual sessions are maintained for each application module, then communication reliability is ensured, but session teardown and re-establishment overhead increases when modules disconnect and reconnect
Solution Approach 1:
The session manager pre-establishes IPMI sessions before application modules need to communicate with the target device. Sessions are created and maintained in advance, ready for immediate use by any application module. When an application module disconnects and later reconnects, the session manager can immediately reuse the pre-established session without requiring time-consuming re-establishment, thus reducing latency while maintaining communication reliability.
Data Source
AI summary
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.


