Failsafe Callback Mechanism for Dynamic Software Instrumentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software monitoring technologies lack a failsafe mechanism for automatically installing and removing temporary instrumentation during application runtime, which can lead to unexpected performance impairments due to communication link failures or other interruptions.

Innovation Solution

A computer-implemented method that provides a failsafe mechanism by using callbacks to monitor connections and automatically restore the application to its original state if a connection is lost, ensuring temporary instrumentation is removed even in the presence of failures.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If temporary dynamic instrumentation is added to the application during runtime, then diagnostic capability is improved, but application performance is degraded

Engineering Contradiction:
Improvediagnostic capabilityVSAvoidapplication performance
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The instrumentation is made dynamic by allowing it to be added and removed during application runtime based on diagnostic needs. The system can switch between instrumented and non-instrumented states, adjusting the level of monitoring according to operational requirements.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

Only the necessary portions of the application are instrumented temporarily for diagnostic purposes, rather than the entire system. This partial instrumentation minimizes performance impact while providing sufficient diagnostic data for troubleshooting specific issues.

Inventive Principle:
Principle #16Partial or excessive action

2Adaptability or versatility

If temporary dynamic instrumentation is added to the application, then diagnostic capability is improved, but system reliability is worsened due to potential connection failures

Engineering Contradiction:
Improvediagnostic capabilityVSAvoidsystem reliability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

A callback mechanism is pre-configured before temporary instrumentation is added. This callback automatically triggers the removal of instrumentation if a connection failure occurs, ensuring that the system returns to a reliable state without requiring manual intervention.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements continuous feedback monitoring through callbacks that detect connection status changes. When a connection failure is detected, the feedback loop automatically initiates the removal of temporary instrumentation, maintaining system reliability despite the added diagnostic components.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If manual removal of instrumentation is required, then control over instrumentation is maintained, but operation complexity increases and failsafe capability is lost

Engineering Contradiction:
Improveinstrumentation controlVSAvoidoperation complexity
Core Design Contradiction:
Ease of operationVSDevice complexity

Solution Approach 1:

The system performs self-service by automatically removing temporary instrumentation through pre-configured callbacks when connection failures occur. This eliminates the need for manual intervention, reducing operational complexity while maintaining control through automated failsafe mechanisms.

Inventive Principle:
Principle #25Self-service

Data Source

PatentEP2386951B1Failsafe mechanism for dynamic instrumentation of software using callbacks
Publication Date: 2013.07.10 CA TECH INC
  • EP2386951B1 patent drawingFigure 1
  • EP2386951B1 patent drawingFigure 2
  • EP2386951B1 patent drawingFigure 3~4B

AI summary

A failsafe mechanism for installing and removing temporary instrumentation during a runtime of an application. Initially, an application is configured with a baseline set of instrumented components such as methods. Additional instrumentation is then deployed in the application, such as to diagnose a performance problem. The failsafe mechanism ensures that the additional instrumentation is automatically removed, even when there is an interruption in a communication link to the application, a computing device failure, a software failure, or some other type of failure, which renders it impossible to manually roll back the instrumentation from a remote user interface. The failsafe mechanism can be provided using callbacks between the computing devices which detect when a connection is unexpectedly lost or closed. Termination of one callback can cascade to one or more other callbacks. The instrumentation rollback can involve reloading un-instrumented byte code of the application.