Application Object Transactional Strategy via Usage Pattern Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
Improvetransactional safetyVSAvoidoverhead
Core Design Contradiction:
ReliabilityVSDevice complexity

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #1Segmentation

2Reliability

If write locks are used for all objects, then reliability is improved, but productivity decreases

Engineering Contradiction:
ImprovesafetyVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #16Partial or excessive action

3Reliability

If all objects are made transactional, then reliability is improved, but loss of time increases

Engineering Contradiction:
ImproverecoverabilityVSAvoidoverhead time
Core Design Contradiction:
ReliabilityVSLoss of time

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.

Inventive Principle:
Principle #3Local quality

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS8495103B2Method and apparatus for determining how to transform applications into transactional applications
Publication Date: 2013.07.23 RED HAT INC
  • US8495103B2 patent drawing
  • US8495103B2 patent drawing
  • US8495103B2 patent drawing

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.