Dynamic Application Level Caching via Runtime Monitoring
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing software applications require frequent code modifications and recompilation to adapt caching logic, leading to inefficiencies and increased complexity due to the difficulty in predicting changing caching needs and the need for manual analysis and testing.
Innovation Solution
A method and system for dynamically applying caching policies by monitoring run-time data access operations, identifying characteristics, and triggering caching rules without modifying the original application code, using a processor and memory to provide memory access instructions based on these rules.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If caching logic is implemented in the original application code, then caching functionality is achieved, but code complexity increases and requires frequent modifications and recompilation
Solution Approach 1:
The patent separates caching logic from the original application code by introducing an independent caching layer that operates at the data access level. This segmentation allows caching to be implemented as a distinct module rather than being embedded throughout the application codebase, thereby reducing overall code complexity while maintaining caching functionality.
Solution Approach 2:
The patent introduces an intermediary caching layer between the application and the data source. This mediator handles all data access operations, automatically applying caching rules without requiring modifications to the original application logic. The intermediary absorbs the complexity of caching management, protecting the original code from becoming more complex.
2Adaptability or versatility
If caching logic is modified to adapt to changing requirements, then caching needs are met, but multiple code modification and testing cycles are required
Solution Approach 1:
The patent implements dynamic caching rules that can be adjusted at runtime without requiring code modifications. The caching layer adapts to changing requirements by modifying its behavior based on updated rules, eliminating the need for repeated compilation and testing cycles while maintaining high adaptability to different caching scenarios.
Solution Approach 2:
The patent pre-establishes a flexible caching framework with configurable rules before deployment. When caching needs change, only the rules need to be updated rather than the entire application code, allowing for quick adaptation with minimal testing requirements since the framework structure remains stable.
3Adaptability or versatility
If caching rules are changed during application runtime, then caching flexibility is improved, but code must be recompiled and tested
Solution Approach 1:
The patent creates a dynamic caching system where rules can be modified at runtime without affecting the compiled application code. The caching layer interprets and applies rules dynamically, allowing flexible adjustments to caching behavior during deployment while maintaining ease of manufacture since no recompilation is needed.
Solution Approach 2:
The intermediary caching layer acts as a buffer between the static application code and dynamic caching requirements. It absorbs the flexibility needs by handling rule changes internally, allowing the application to maintain simple deployment processes while still achieving high caching flexibility through the mediator's adaptive capabilities.
Data Source
AI summary
The disclosure generally relates to methods and systems for application level caching and more particularly to dynamically applying caching policies to a software application. In one embodiment, an application level caching method, comprising: monitoring, using a utility executed by a processor, run-time data access operations corresponding to an application; identifying, using the processor, at least one characteristic associated with the run-time data access operations; triggering, using the processor, a caching rule based on the at least one characteristic associated with the run-time data access operations; and providing, using the processor, a memory access instruction according to the caching rule.


