D-Bus Object Proxy Caching for BMC Performance

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing Desktop Bus (D-Bus) interfaces in Baseboard Management Controllers (BMCs) experience performance degradation when fetching multiple objects and their property information, leading to noticeable performance issues.

Innovation Solution

Implementing a D-Bus object proxy service with caching techniques and marshaling of data to maintain performance metrics while providing manageability and customization, transparent to the services using D-Bus.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If D-Bus interfaces are used to fetch multiple objects and their property information, then manageability and customization are provided, but performance degradation occurs

Engineering Contradiction:
ImprovemanageabilityVSAvoidperformance
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent implements a caching mechanism that pre-fetches and stores D-Bus objects and their property information in a local cache before actual requests occur. This preliminary action reduces the need for repeated D-Bus queries, thereby maintaining manageability while significantly improving performance by avoiding repeated data fetching operations.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces a caching layer as an intermediary between the D-Bus interface and the application. This intermediary layer handles the performance bottleneck by serving cached data for repeated requests, allowing the system to maintain the ease of operation provided by D-Bus while eliminating performance degradation through efficient data retrieval.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If D-Bus interfaces are used to provide customization, then service flexibility is improved, but performance metrics deteriorate

Engineering Contradiction:
ImprovecustomizationVSAvoidperformance metrics
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The caching mechanism performs preliminary data retrieval and storage, allowing customized D-Bus services to be accessed without repeated performance-costly queries. This maintains service flexibility and adaptability while improving performance metrics by serving cached data for subsequent requests.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent creates copies of D-Bus objects and their property information and stores them in a local cache. This copying approach allows the system to maintain full customization capabilities through D-Bus while achieving better performance metrics by serving data from local copies rather than repeated remote queries.

Inventive Principle:
Principle #26Copying

3Loss of information

If multiple D-Bus objects are fetched, then comprehensive data retrieval is achieved, but performance degradation increases

Engineering Contradiction:
Improvedata retrieval completenessVSAvoidperformance
Core Design Contradiction:
Loss of informationVSProductivity

Solution Approach 1:

The patent merges multiple D-Bus object fetches into a single preliminary caching operation. By retrieving comprehensive data from D-Bus once and storing it in cache, the system achieves complete data retrieval while avoiding the performance degradation that would result from multiple separate queries, as subsequent accesses all serve from the unified cached data.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS12423256B2Systems and methods for desktop bus (D-Bus) caching
Publication Date: 2025.09.23 DELL PROD LP
  • US12423256B2 patent drawing
  • US12423256B2 patent drawing
  • US12423256B2 patent drawing

AI summary

Embodiments of the present disclosure provide a system and method to cache Desktop Bus (D-Bus) objects. According to one embodiment, an Information Handling System (IHS) includes a Remote Access Controller (RAC) with computer-executable instructions that cause the RAC to receive a request for a data object from a requester, and determine whether the data object is to be obtained from a cache or directly from the Desktop Bus (D-Bus) service. The instructions further cause the RAC to obtain the requested data object from either the D-Bus service or the cache based upon the determination, and send the obtained data object to the requester in response to the request. The data object is generated by a D-Bus service that communicates through the D-Bus.