IP Library Granted Patent US 12,423,256
Granted Patent B2
US 12,423,256 · App. 18/489,993 · Granted Sep 23, 2025

Systems and methods for desktop bus (D-Bus) caching

Inventors: Charles D. Stracener (Carrollton, TX); Arun Muthaiyan (Round Rock, TX); Krishna K. Kanukurthy (Austin, TX); Douglas W. Warzecha (Round Rock, TX)
Assignee: Dell Products, L.P.
G06F13/36G06F13/1668
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 12,423,256
App. No.
18/489,993
Granted
Sep 23, 2025
Kind
B2
Abstract

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.

Claims (34)

1. An Information Handling System (IHS) comprising:

a Remote Access Controller (RAC) comprising at least one processor and at least one memory coupled to the at least one processor, the at least one memory having program instructions stored thereon that, upon execution by the at least one processor, cause the RAC to:

receive a request for one data object from a requester, the data object being generated by a D-Bus service that communicates through a Desktop Bus (D-Bus);

generate an Application Program Interface (API) wrapper that comprises an interface between the requester and the D-Bus service;

communicate, by the API wrapper, with the D-Bus using a D-Busplus layer;

determine whether the data object is to be obtained from a cache or directly from the D-Bus service;

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.

2. The IHS of claim 1 , wherein the API wrapper comprises logic to perform the determination of whether the data object is cached or not.

3. The IHS of claim 1 , wherein the instructions, upon execution, cause the RAC to obtain information associated with whether the data object is to be cached from a configuration file stored in the at least one memory.

4. The IHS of claim 3 , wherein the instructions, upon execution, cause the RAC to obtain the information during at least one of a build time or a run time of the instructions.

5. The IHS of claim 1 , wherein the instructions, upon execution, cause the RAC to marshal data included in each of a plurality of the data objects into a condensed data structure by removing a D-Bus format from the data, and storing the data at specified locations in the condensed data structure.

6. The IHS of claim 5 , wherein the instructions, upon execution, cause the RAC to share the specified locations with the requester when the requester signs up to receive the condensed data structure.

7. A D-Bus object proxy method comprising:

receiving, by a Remote Access Controller (RAC), a request for one data object from a requester, the data object being generated by a D-Bus service that communicates through a Desktop Bus (D-Bus);

generating an Application Program Interface (API) wrapper that comprises an interface between the requester and the D-Bus service;

communicating, by the API wrapper, with the D-Bus using a D-Busplus layer;

determining whether the data object is to be obtained from a cache or directly from the D-Bus service, wherein the API wrapper comprises logic to perform the determination of whether the data object is cached or not;

obtaining the requested data object from either the D-Bus service or the cache based upon the determination; and

sending the obtained data object to the requester in response to the request.

8. The D-Bus object proxy method of claim 7 , further comprising obtaining information associated with whether the data object is to be cached from a configuration file stored in at least one memory.

9. The D-Bus object proxy method of claim 8 , further comprising obtaining the information during at least one of a build time or a run time of the instructions.

10. The D-Bus object proxy method of claim 7 , further comprising marshaling data included in each of a plurality of the data objects into a condensed data structure by removing a D-Bus format from the data, and storing the data at specified locations in the condensed data structure.

11. The D-Bus object proxy method of claim 10 , further comprising sharing the specified locations with the requester when the requester signs up to receive the condensed data structure.

12. A memory storage device having program instructions stored thereon that, upon execution by one or more processors of a client Information Handling System (IHS), cause the client IHS to:

receive, by a Remote Access Controller (RAC), a request for one data object from a requester, the data object being generated by a D-Bus service that communicates through a Desktop Bus (D-Bus);

generate an Application Program Interface (API) wrapper that comprises an interface between the requester and the D-Bus service;

communicate, by the API wrapper, with the D-Bus using a D-Busplus layer;

determine whether the data object is to be obtained from a cache or directly from the D-Bus service, wherein the API wrapper comprises logic to perform the determination of whether the data object is cached or not;

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.

13. The memory storage device of claim 12 , wherein the instructions, upon execution, cause the RAC to obtain information associated with whether the data object is to be cached from a configuration file stored in the memory storage device.

14. The memory storage device of claim 13 , wherein the instructions, upon execution, cause the RAC to obtain the information during at least one of a build time or a run time of the instructions.

15. The memory storage device of claim 12 , wherein the instructions, upon execution, cause the RAC to marshal data included in each of a plurality of the data objects into a condensed data structure by removing a D-Bus format from the data, and storing the data at specified locations in the condensed data structure, and share the specified locations with the requester when the requester signs up to receive the condensed data structure.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 19, 2023
From: STRACENER, CHARLES D.; MUTHAIYAN, ARUN; KANUKURTHY, KRISHNA K.; WARZECHA, DOUGLAS W.
To: DELL PRODUCTS, L.P.
Reel/Frame 065277/0867 →
Continuity (1)
Related Publication 20250130964A1 · Apr 24, 2025
References Cited (7)
US 6523119B2 · Pavlin · 2003 [cited by examiner]
US 10511630B1 · Weiss · 2019 [cited by examiner]
US 10880347B1 · Krishnan · 2020 [cited by examiner]
US 20110113484A1 · Zeuthen · 2011 [cited by examiner]
US 20150186200A1 · Chen · 2015 [cited by examiner]
“D-Bus” Wikipedia entry. Available: https://en.wikipedia.org/w/index.php?title=D-Bus&oldid=1271533451 (Year: 2025). [cited by examiner]
Cocagne, Tom (Aug. 2012). “DBus Overview”. pythonhosted.org. Retrieved Oct. 22, 2015. (Year: 2013). [cited by examiner]