Parallel IPMI Message Handling in Baseboard Management Controllers

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional Baseboard Management Controllers (BMCs) face inefficiencies in handling Intelligent Platform Management Interface (IPMI) messages due to a lack of interface-specific and parallel processing capabilities, leading to sequential message handling that can hinder effective system monitoring and management.

Innovation Solution

The BMC is designed with a processor and memory that includes multiple communication interfaces and message handlers, each processing IPMI request messages on separate threads, utilizing message handler queues and task modules to manage IPMI requests and responses across various interfaces such as network, KCS, IPMB, USB, and others, with mutual exclusion mechanisms for data access.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a common/central message handling entity is used to receive and handle IPMI messages from all communication interfaces, then the device complexity is reduced and ease of operation is improved, but the productivity decreases due to sequential message handling

Engineering Contradiction:
Improvemessage handling throughputVSAvoidmessage handling architecture complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent divides the common message handling entity into multiple interface-specific message handlers, with each handler dedicated to a specific communication interface. This segmentation enables parallel processing of IPMI messages from different interfaces simultaneously, thereby increasing message handling throughput while maintaining manageable complexity through clear interface-specific responsibilities.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent transitions from a single-threaded sequential processing model to a multi-threaded parallel processing model. By introducing multiple threads, each handling messages from different communication interfaces, the system adds a dimensional aspect of concurrency that significantly improves productivity without proportionally increasing complexity.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

2Loss of time

If sequential message handling is used in a common message handling entity, then the device complexity is reduced, but the loss of time increases due to waiting for previous messages to be processed

Engineering Contradiction:
Improvemessage processing delayVSAvoidprocessing architecture complexity
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The patent implements dynamic parallel processing by creating multiple message handlers that can operate simultaneously and independently. Each handler dynamically processes messages from its associated communication interface without waiting for other handlers to complete their tasks, thereby reducing message processing delay while managing complexity through structured interface-specific handling.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

By employing multiple concurrent message handlers, the system ensures continuous processing of IPMI messages across different communication interfaces. While one handler is processing a message, another can simultaneously handle a different message, eliminating idle waiting time and maintaining continuous useful action throughout the message handling process.

Inventive Principle:
Principle #20Continuity of useful action

3Productivity

If interface-specific message handlers running on separate threads are implemented, then the productivity increases through parallel processing, but the device complexity increases due to multiple threads and queues

Engineering Contradiction:
Improveparallel message processing capabilityVSAvoidthread and queue management complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the message handling system into interface-specific handlers, each with its own dedicated thread and message queue. This segmentation isolates the complexity within well-defined boundaries, making thread and queue management more tractable while enabling parallel processing that improves productivity.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces message queues as intermediary structures between communication interfaces and message handlers. These queues act as buffers that decouple the production of messages from their processing, simplifying thread management by providing a standardized interface for asynchronous message passing while maintaining parallel processing capabilities.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Measurement precision

If multiple message handler queues are used for different communication interfaces, then the measurement precision of message routing is improved, but the device complexity increases due to additional data structures

Engineering Contradiction:
Improvemessage routing accuracyVSAvoidqueue management structure complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent creates separate message handler queues for each communication interface, segmenting the message routing process. This segmentation improves measurement precision in message routing by ensuring that messages from each interface are handled by the appropriate dedicated handler, eliminating routing ambiguity while keeping the complexity manageable through clear interface-specific separation.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8875154B2Interface specific and parallel IPMI message handling at baseboard management controller
Publication Date: 2014.10.28 AMERICAN MEGATRENDS
  • US8875154B2 patent drawing
  • US8875154B2 patent drawing
  • US8875154B2 patent drawing

AI summary

Certain aspects of the present disclosure are directed to a baseboard management controller (BMC). The BMC includes a processor and a memory storing firmware. The firmware, when executed by the processor, is configured to include a plurality of communication interfaces and a plurality of message handlers. The plurality of message handlers each are configured to process an IPMI request message that is received from, and that is to be associated with, a respective different communication interface of the plurality of communication interfaces; to perform a management function to a host computer of the BMC in accordance with the processed IPMI request message; and to be on a respective different thread.