Dynamic Behavioral Event Correlation for Cache Prediction

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Traditional cache prediction algorithms are inefficient due to static pre-computation and lack of reactivity to system changes, relying on cheap first-order approximations of cache entry usefulness, which limits their ability to dynamically predict future access patterns.

Innovation Solution

A behavioral event correlation system that dynamically generates correlation scores between arbitrary objects by maintaining tables of execution contexts and system objects, allowing for real-time prediction of cache entries based on historical access patterns and metadata analysis.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If static pre-computation of item relationships is used to predict cache entries, then cache prediction can be performed, but the system becomes insufficiently reactive to changes in system behavior and requires excessive storage space

Engineering Contradiction:
Improvereactivity to system behavior changesVSAvoidstorage space for relationship matrices
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent transforms the static pre-computation approach into a dynamic system that continuously updates behavioral event correlations based on real-time system behavior. Instead of computing item relationships once and storing them in a fixed matrix, the system dynamically generates correlation scores by analyzing behavioral events as they occur, allowing the cache prediction mechanism to adapt reactively to changing access patterns without requiring excessive storage space for relationship matrices

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent extracts the essential predictive information from complex behavioral event sequences by generating condensed correlation scores between items. Rather than storing and processing complete relationship matrices containing all possible item interactions, the system extracts only the relevant correlation scores needed for cache prediction, significantly reducing storage requirements while maintaining predictive capability

Inventive Principle:
Principle #2Taking out (Extraction)

2Measurement precision

If traditional first-order approximations are used to estimate cache entry usefulness, then computation remains cheap, but prediction accuracy is limited

Engineering Contradiction:
Improvecache prediction accuracyVSAvoidcomputation complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent implements a feedback mechanism where the system continuously monitors actual cache access patterns and uses this information to refine behavioral event correlations. By comparing predicted cache hits with actual access behavior, the system adjusts correlation scores to improve prediction accuracy over time, moving beyond static first-order approximations to a dynamic learning approach that adapts to system behavior

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary computation of behavioral event correlations and item relationship patterns during periods of lower system load, preparing prediction data in advance. This allows the system to maintain higher prediction accuracy without proportionally increasing real-time computation complexity, as the heavy correlation analysis is performed beforehand rather than during critical cache access operations

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9740619B2Methods and systems for caching data using behavioral event correlations
Publication Date: 2017.08.22 AGGREGATE KNOWLEDGE LLC
  • US9740619B2 patent drawing
  • US9740619B2 patent drawing
  • US9740619B2 patent drawing

AI summary

A method is disclosed including a client accessing a cache for a value of an object based on an object identification (ID), initiating a request to a cache loader if the cache does not include a value for the object, the cache loader performing a lookup in an object table for the object ID corresponding to the object, the cache loader retrieving a vector of execution context IDs, from an execution context table that correspond to the object IDs looked up in the object table and the cache loader performing an execution context lookup in an execution context table for every retrieved execution context ID in the vector to retrieve object IDs from an object vector.