Job-Specific Breakpoints for Server Concurrency Testing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Complex server architectures face challenges in reproducing and debugging concurrency issues, such as interactions between synchronous and asynchronous requests, node interactions, and state changes, which are difficult to test and reproduce consistently.

Innovation Solution

A method and system using job-specific breakpoints controlled by library APIs to pause and resume server code execution, allowing for the creation of readable and repeatable test cases that manage concurrent client jobs and interactions within distributed systems.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional testing methods are used for concurrent server operations, then testing simplicity is maintained, but the ability to reproduce and debug concurrency issues deteriorates

Engineering Contradiction:
Improveconcurrency issue reproduction capabilityVSAvoidtesting architecture complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent introduces a testing framework as an intermediary layer between the test cases and the server code. This framework automatically manages breakpoint insertion, job creation, and execution control, eliminating the need for complex manual testing architecture while enabling reliable concurrency issue reproduction.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The testing framework performs preliminary actions by automatically inserting breakpoints into server code before execution, creating test jobs with specific parameters in advance, and setting up the testing environment beforehand. This eliminates the need for complex manual setup during actual testing operations.

Inventive Principle:
Principle #10Preliminary action

2Ease of operation

If manual breakpoint management is used in server code, then control over execution is improved, but the ease of operation deteriorates due to manual intervention requirements

Engineering Contradiction:
Improvebreakpoint control easeVSAvoidtime for manual breakpoint management
Core Design Contradiction:
Ease of operationVSLoss of time

Solution Approach 1:

The testing framework implements self-service by automatically managing the entire breakpoint lifecycle including insertion, activation, deactivation, and removal. The framework monitors server execution state and autonomously controls breakpoints without requiring manual intervention, saving time while maintaining precise execution control.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The framework employs feedback mechanisms by monitoring server execution state and automatically adjusting breakpoint status based on real-time conditions. This feedback loop enables the system to maintain optimal control over execution while eliminating manual time investment in breakpoint management.

Inventive Principle:
Principle #23Feedback

3Reliability

If comprehensive testing of concurrent operations is implemented, then concurrency issue detection is improved, but the productivity deteriorates due to extended testing time

Engineering Contradiction:
Improveconcurrency issue detection capabilityVSAvoidtesting efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The framework performs preliminary setup of test jobs, breakpoints, and execution parameters before actual testing begins. By pre-configuring all necessary elements, the framework enables comprehensive concurrency testing to execute efficiently without extended setup time, thus maintaining high productivity while achieving thorough detection capability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The testing framework maintains continuous automated execution of test cases with seamless management of multiple concurrent jobs and breakpoints. This continuous automated operation eliminates manual intervention delays and maximizes testing throughput, ensuring comprehensive concurrency detection without significant time loss.

Inventive Principle:
Principle #20Continuity of useful action

Data Source

PatentUS10579501B2Testing and reproduction of concurrency issues
Publication Date: 2020.03.03 INTERNATIONAL BUSINESS MACHINE CORPORATION
  • US10579501B2 patent drawing
  • US10579501B2 patent drawing
  • US10579501B2 patent drawing

AI summary

A method and system for testing a server code in a server concurrently handling multiple client requests create a job-specific breakpoint in the server code using a library application programming interface (API) that allows the job-specific breakpoint in the server code being enabled or disabled based on a job identifier. The library API controls the job-specific breakpoint in the server code via a plurality of readymade functions that execute, in a desired sequence, various synchronous and asynchronous program paths associated with the multiple client requests. By using the library API, the method and system are capable of establishing a new server connection with the server and retrieving the job identifier from the server associated with the established new server connection, pausing execution of a client job based on enabling the job-specific breakpoint, and resuming execution of the client job based on disabling the job-specific breakpoint.