DirXML Query Minimization via Result Cache
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
DirXML Script policies in metadirectory engines like Novell Identity Manager experience slow synchronization performance due to excessive and redundant reading of attribute data from data stores like eDirectory or connected applications.
Innovation Solution
Implementing a DirXML query minimization subsystem that uses intelligent caching and prefetching to minimize the number of queries by checking a result cache before querying the target system, and augmenting queries with likely needed attributes based on previous policy invocations.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Ease of operation
If the same attribute is repeatedly queried from the target system during a single policy invocation, then the policy can access attribute values easily, but the synchronization performance becomes slow due to excessive and redundant reading
Solution Approach 1:
The system performs preliminary actions by checking the result cache before querying the target system. When a policy needs an attribute value, the system first checks if it's already in the cache, avoiding redundant queries to the target system and improving synchronization performance while maintaining ease of attribute access
Solution Approach 2:
A result cache is introduced as an intermediary between the policy and the target system. This cache stores previously retrieved attribute values and serves as a mediator that can quickly provide attribute values without requiring repeated queries to the target system, thus resolving the contradiction between easy attribute access and synchronization performance
2Productivity
If the result cache is checked before querying the target system, then redundant queries are reduced and performance improves, but the device complexity increases due to the caching mechanism
Solution Approach 1:
The system segments the data retrieval process into two parts: a fast result cache for frequently accessed attribute values and the target system for primary data storage. This segmentation allows the system to handle simple cache lookups quickly while maintaining the integrity of the target system, improving query efficiency without significantly increasing overall system complexity
Solution Approach 2:
The system creates copies of attribute values and stores them in the result cache. These copies serve as lightweight replicas that can be quickly accessed without querying the target system repeatedly. The copying mechanism is simple and focused only on caching data, which minimizes the increase in system complexity while significantly improving query efficiency
Data Source
AI summary
System and method for efficient issuance of queries, such as DirXML script queries, by a policy for a value of an attribute of an object of the target system are described. In one embodiment, the method comprises, responsive to issuance by a policy of a query for a value of a designated attribute of a designated object of a target system, checking a result cache associated with the target system to determine whether the value for the designated attribute of the designated object is stored therein; responsive to a determination that the value for the designated attribute of the designated object is stored in the result cache, returning the value stored in the result cache to the policy; and responsive to a determination that the value for the designated attribute of the designated object is not stored in the result cache, querying the target system for the value of the designated attribute of the designated object.


