Policy Analysis Object Caching for Computational Complexity Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current policy authoring and analysis tools face challenges in creating and modifying complex policies that are valid, consistent, and error-free, often resulting in unintended side effects due to the lack of effective tools and methods for design and analysis, and they struggle to handle computational explosions and provide insights into policy decisions.
Innovation Solution
A policy analysis system that defines an analysis object with a data structure to limit calculations, caches solved outputs for repeated expressions, and uses a reverse indexing scheme to efficiently access and reuse relevant policy elements, thereby avoiding computational explosions and enabling users to author policies with fewer side effects.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If policy analysis tools attempt to analyze complex policies with numerous rules and elements, then comprehensive policy validation and error detection are improved, but computational complexity and processing time increase significantly
Solution Approach 1:
The patent segments the policy analysis process into distinct modules including goal reception, analysis object definition, expression identification, and caching mechanisms. This segmentation allows the system to handle complex policies by breaking them into manageable computational units, reducing overall computational complexity while maintaining comprehensive validation capability
Solution Approach 2:
The system performs preliminary actions by pre-defining analysis objects with data structures that maintain necessary information before full policy analysis begins. Expressions are identified and cached in advance, so that during actual policy validation, the system can reuse pre-computed results rather than recalculating everything, significantly reducing processing time for complex policies
2Measurement precision
If the system analyzes all expressions in complex policies to ensure correctness, then policy error detection is improved, but the time and resources required for analysis increase
Solution Approach 1:
The patent implements a caching mechanism that creates copies of solved expression outputs and stores them in the analysis object. When the same expressions appear multiple times in complex policies, the system retrieves cached results instead of re-solving, maintaining precise error detection while dramatically reducing analysis time through intelligent reuse of previously computed information
3Reliability
If policy authoring tools provide comprehensive analysis capabilities, then users can author more accurate policies, but the tools become more difficult to operate and understand
Solution Approach 1:
The analysis object serves as an intermediary data structure that manages the complexity of policy analysis internally while presenting a simpler interface to users. It automatically handles expression identification, caching, and result retrieval, shielding users from the underlying computational complexity while still enabling comprehensive policy validation and error detection
Data Source
AI summary
Analyzing a set of policies. A goal comprising a particular outcome is received. An analysis object comprising a data structure maintaining information needed to perform an analysis of the goal is defined. The analysis object is configured to limit a number of calculations needed to achieve the goal. Each member of a set of expressions found in the set of policies has an output. The output is the same for each expression. One of the set of expressions is solved. The solved output is cached in the analysis object such that the solved output is associated with each member of the set of expressions. The analysis object is processed to create a set of values that achieves the goal. Processing includes referencing the cache to retrieve the solved output each time a member of the set of expressions is to be solved during processing of the analysis object.


