Software Problem Isolation via Usage Scenario Snapshot Comparison

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current software troubleshooting methods are costly and time-consuming due to the inability to efficiently isolate and compare software components involved in specific usage scenarios across different systems, particularly in identifying issues in multi-tiered applications.

Innovation Solution

A method that allows users to define and execute usage scenarios on both a reference and a study computer system, acquiring and comparing data to identify differences and isolate problematic software components, enabling snapshot comparison and analysis to detect faults.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If manual collection and analysis of runtime dependencies is performed, then software problems can be detected, but the process becomes extremely costly and time-consuming

Engineering Contradiction:
Improvesoftware problem detectionVSAvoidtroubleshooting time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent creates virtual copies (snapshots) of the software system state at different points in time. These snapshots capture runtime dependencies, configurations, and component states without requiring manual analysis. By comparing these automated snapshots, the system can detect software problems efficiently, resolving the contradiction between reliable problem detection and time consumption.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary actions by automatically capturing and storing snapshots of the software system state before problems occur. These pre-captured snapshots contain all necessary runtime dependency and configuration information, eliminating the need for time-consuming manual collection and analysis when troubleshooting is needed.

Inventive Principle:
Principle #10Preliminary action

2Loss of information

If snapshots of software infrastructure are taken for analysis, then runtime dependencies can be identified, but the ability to isolate components in specific usage scenarios is lost

Engineering Contradiction:
Improveruntime dependency informationVSAvoidcomponent isolation
Core Design Contradiction:
Loss of informationVSEase of operation

Solution Approach 1:

The patent segments the software system into distinct usage scenarios, each with its own snapshot. Instead of taking a single comprehensive snapshot of the entire system, the system creates targeted snapshots for specific usage scenarios, making it easier to isolate and analyze particular software components involved in specific problems while retaining all necessary runtime dependency information.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent extracts only the relevant portion of system state information needed for specific usage scenarios. Rather than capturing and analyzing the entire software infrastructure, the system extracts and stores snapshots focused on particular usage scenarios, enabling easier isolation of problematic components while maintaining complete runtime dependency data for those scenarios.

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If automated snapshot comparison is implemented, then troubleshooting speed increases, but the complexity of the system increases

Engineering Contradiction:
Improvetroubleshooting speedVSAvoidsystem complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent uses virtual copies (snapshots) of system state rather than implementing complex real-time monitoring and comparison infrastructure. These snapshots are simple data structures that capture system state at specific moments, and their comparison is straightforward, achieving high troubleshooting speed without excessive system complexity.

Inventive Principle:
Principle #26Copying

Solution Approach 2:

The patent performs preliminary actions by pre-capturing system state snapshots with all necessary information embedded. This eliminates the need for complex real-time data collection and processing infrastructure during troubleshooting, as the comparison can be performed directly on the pre-captured snapshot data, increasing productivity while maintaining manageable system complexity.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentEP2286338B1Method system and computer program for identifying software problems
Publication Date: 2019.01.30 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • EP2286338B1 patent drawingFigure 1
  • EP2286338B1 patent drawingFigure 2
  • EP2286338B1 patent drawingFigure 3

AI summary

The preferred embodiment provides a mechanism for accelerating the processes of isolating a software problem, detecting the nature of the problem and resolving it, by isolating the software components involved in the usage scenario wherein the problem occurred. The preferred embodiment then tests the software components by: automatically executing a reference usage scenario within the infrastructure of the faulty software application; and comparing the results of the usage scenario wherein the problem occurred, with expected results from the reference scenario. The preferred embodiment may be used at the end of an installation process to check if the product or patch has been successfully installed by defining a usage scenario descriptor for the installation process. The preferred embodiment may also be used for usage scenario test progression. In particular, the preferred embodiment can allow a user to prepare a usage scenario descriptor for each regression scenario before applying a patch in a production environment. Furthermore, the preferred embodiment can automatically run the usage scenario discovery process in the test environment and cause the comparator to verify the result therefrom.