Policy Evaluation Batching for Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The evaluation of multiple policies for content presentation in web applications can lead to significant latency, especially when dealing with large numbers of concurrent users, due to the computational overhead of determining which data to analyze and present, impacting user experience.
Innovation Solution
The optimization of policy evaluation by grouping and ordering rules into batches, calculating an expected cost for each batch, and selecting the optimized ordered set of batches to reduce computational costs and execution time, allowing for faster policy evaluation without affecting the correctness of the outcome.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Manufacturing precision
If all relevant policies are analyzed to determine what subset of data to analyze and present, then the correctness and completeness of content presentation is improved, but the processing time and latency increase significantly
Solution Approach 1:
The patent segments the policy evaluation process by dividing policies into different categories (security policies, privacy policies, content policies) and evaluating them in a specific order. This segmentation allows the system to stop evaluation early when certain policies are satisfied or violated, reducing overall evaluation time while maintaining correctness.
Solution Approach 2:
The patent performs preliminary actions by pre-evaluating and caching policy results where possible, and by establishing a predetermined evaluation order before processing user requests. This preliminary structuring of policy evaluation reduces the computational overhead during actual content presentation.
2Adaptability or versatility
If sophisticated server software searches through vast data stores to gather user-specific information, then the personalization and relevance of user experience is improved, but the computational overhead and processing time increase
Solution Approach 1:
The patent segments data retrieval operations by identifying which specific user attributes are needed based on policy requirements, rather than retrieving all possible user data. This selective data gathering reduces computational complexity while maintaining personalization.
Solution Approach 2:
The patent extracts only the necessary user-specific information required by relevant policies, rather than processing entire user profiles. This extraction approach reduces the volume of data that needs to be processed while still enabling personalized content presentation.
3Reliability
If multiple policies are evaluated for each content presentation decision, then the security and compliance of data handling is improved, but the number of processing operations increases
Solution Approach 1:
The patent segments policy evaluation into mandatory security/privacy policies that must be fully evaluated versus optional content policies that can be evaluated selectively. This segmentation ensures compliance with critical policies while reducing unnecessary processing of less critical policies.
Solution Approach 2:
The patent applies partial evaluation by stopping policy analysis once sufficient information is obtained to make a content presentation decision. Not all policies need to be fully evaluated to determine what content should be displayed, allowing the system to achieve adequate compliance with reduced processing.
Data Source
AI summary
Technology for optimizing policy evaluation is disclosed. A policy may include an ordered rule set. When evaluated, the highest priority rule in the order that does not skip may control the outcome of the policy. Rules within a policy may have associated costs and an associated probability of not skipping. The rules of a policy may not need to be executed in a particular order for a system to determine the correct evaluation of the policy and groups of rules, or “batches,” may be run simultaneously. Technology is disclosed to optimize policy evaluation by creating batches and orderings of those batches which have a lower expected cost than other ordered sets of batches. The expected cost for each ordered set of batches may be calculated based on: rule costs, probabilities associated with one or more rules, the organization of the rules into batches, and the ordering of batches within sets.


