BMC IPMI Command Routing via Hash-Registered Service Objects
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing BMC systems with IPMI protocol implementations face robustness and maintainability issues due to the complexity of the IPMI daemon, leading to potential system abnormalities when problems occur.
Innovation Solution
The solution involves creating a 'virtual bus' in the BMC system, splitting the complete ipmid service into multiple management service functions, and registering these functions in a Hash table for data sharing and message communication, using a first process to determine and process IPMI commands through pre-registered objects.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a large and complete ipmid daemon is used to implement all IPMI protocol contents, then the software structure is simplified, but the system robustness deteriorates because once problems occur in any link, the whole IPMI function may be abnormal
Solution Approach 1:
The patent divides the monolithic ipmid daemon into multiple independent processes (first process, second process, third process, etc.), each responsible for specific IPMI functions. These processes communicate through a hash table mechanism, allowing the system to maintain simplicity while improving robustness through functional separation.
2Device complexity
If a large and complete ipmid daemon is used to implement all IPMI protocol contents, then the software structure is simplified, but the maintainability deteriorates due to the numerous contents and rigorous handling requirements
Solution Approach 1:
The patent segments the ipmid daemon into multiple independent processes with distinct responsibilities. Each process can be developed, tested, and maintained separately, improving maintainability while the hash table integration maintains overall system coordination.
Solution Approach 2:
The patent introduces a hash table as an intermediary mechanism that enables communication and coordination between the segmented processes. This intermediary allows independent processes to work together without requiring complex inter-process communication protocols, maintaining ease of maintenance.
3Reliability
If the ipmid daemon is segmented into multiple processes, then the system robustness and maintainability are improved, but the device complexity increases due to multiple processes and hash table management
Solution Approach 1:
The patent uses a hash table as a simple intermediary mechanism to manage communication between multiple processes. This approach provides a straightforward method for inter-process communication without requiring complex message queues or shared memory management, thus limiting the increase in system architecture complexity.
Data Source
AI summary
Disclosed is an IPMI command processing method for a BMC. The method includes the following steps: in response to receiving an IPMI command, determining character strings of several processing objects corresponding to the IPMI command; according to the character strings of the several processing objects, determining the several processing objects which are pre-registered with a hash table on a first process; and processing the IPMI command by using the several processing objects. Further disclosed are a system, a computer device and a readable storage medium. In the solution provided in the present disclosure, a first process is created in a BMC system, and data sharing and message communication between daemon processes of services are performed by means of the first process, such that the robustness of an IPMI function is significantly improved, which is more conducive to bug positioning, post-maintenance, etc.


