Application Object Transactional Strategy via Usage Pattern Monitoring
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In distributed computing systems, it is challenging to determine which application objects should be made transactional and which locking strategy to use, often resulting in excessive overhead as all objects are made transactional with write locks, despite only some needing this treatment.
Innovation Solution
A method and apparatus that monitor usage patterns of application objects over time to recommend whether they should be transactional and what locking strategy to use, allowing for dynamic modification of objects and locking strategies without requiring source code changes.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If all objects in the application are made transactional with write locks, then reliability is improved, but device complexity and overhead increase
Solution Approach 1:
The patent applies local quality by making only specific objects transactional rather than all objects. The system identifies and applies transactional semantics selectively to objects that require them, while leaving other objects non-transactional. This localized approach maintains reliability for critical objects while reducing overall system overhead and complexity.
Solution Approach 2:
The patent segments the application objects into different categories: transactional objects that require ACID properties and non-transactional objects that do not. This segmentation allows the system to apply write locks and transactional overhead only where necessary, rather than uniformly across all objects, thereby reducing overall complexity while maintaining reliability for segmented critical objects.
2Reliability
If write locks are used for all objects, then reliability is improved, but productivity decreases
Solution Approach 1:
The patent implements local quality by applying write locks only to specific transactional objects that require them, rather than to all objects in the application. This selective application maintains safety for critical objects while allowing non-transactional objects to operate without lock overhead, thereby preserving system performance and productivity.
Solution Approach 2:
The patent applies partial action by using write locks only for the portion of objects that truly need transactional guarantees, rather than applying them excessively to all objects. This partial application of locking strategies maintains safety where needed while avoiding the performance penalty of unnecessary locks on objects that don't require them.
3Reliability
If all objects are made transactional, then reliability is improved, but loss of time increases
Solution Approach 1:
The patent applies local quality by making only specific objects transactional with full ACID properties, rather than all objects. This selective approach ensures recoverability for critical objects while avoiding the time overhead of transactional processing for objects that don't require it, thereby reducing total loss of time.
Solution Approach 2:
The patent segments objects into transactional and non-transactional categories, applying transactional overhead only to the segmented portion that requires recoverability. This segmentation reduces the total time spent on transactional operations across the entire application while maintaining reliability for the segmented critical objects.
Data Source
AI summary
A computing device monitors an application that includes at least one object over a time period. The computing device identifies a usage pattern of the at least one object over the time period. The computing device recommends, based on the usage pattern, at least one of a) that the at least one object be converted to a transactional object and b) a locking strategy for the at least one object.


