Concurrency Profiler for Client-Server Bottleneck Detection

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing client-server environments face challenges in identifying and addressing bottlenecks, particularly in distributed computing systems where data access coordination leads to synchronization issues and hidden bottlenecks, affecting performance and scalability.

Innovation Solution

A computer-implemented method is introduced to measure bottlenecks in a hardware client-server environment by defining execution parameters, modifying code blocks with instrumentation code, executing the modified code, generating instrumentation data, and outputting the results to identify and prioritize bottlenecks for adjustment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If code blocks are modified to include instrumentation code for measuring bottlenecks, then measurement precision is improved, but device complexity increases

Engineering Contradiction:
Improvebottleneck measurement precisionVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary concurrency profiler system that acts as a mediator between the code blocks and the measurement process. The profiler includes instrumentation code that can be added to code blocks without fundamentally changing their structure, allowing precise bottleneck measurement while maintaining relative system simplicity through this intermediate measurement layer.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The measurement system is segmented into distinct components: the concurrency profiler, instrumentation code, and the original code blocks. This segmentation allows the measurement functionality to be added modularly, improving measurement precision without requiring complete system redesign, thus managing complexity through modular architecture.

Inventive Principle:
Principle #1Segmentation

2Measurement precision

If thousands of synchronization points are detected and measured, then measurement completeness is improved, but ease of operation deteriorates due to difficulty in identifying noteworthy bottlenecks

Engineering Contradiction:
Improvecompleteness of bottleneck detectionVSAvoidease of identifying noteworthy bottlenecks
Core Design Contradiction:
Measurement precisionVSEase of operation

Solution Approach 1:

The concurrency profiler implements feedback mechanisms that provide information about detected synchronization points and bottlenecks. This feedback loop allows the system to not only detect thousands of synchronization points but also to present this information in a way that highlights noteworthy bottlenecks, making it easier for operators to identify and address critical issues without being overwhelmed by the volume of data.

Inventive Principle:
Principle #23Feedback

3Ease of operation

If existing systems serially detect and remove bottlenecks, then ease of operation is improved, but productivity deteriorates due to iterative execution and measurement cycles

Engineering Contradiction:
Improvesimplicity of bottleneck detection processVSAvoidsystem throughput
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The instrumentation code is configured to detect and measure bottlenecks in advance during system execution, rather than requiring iterative cycles of execution, measurement, and modification. This preliminary detection capability allows the system to identify bottlenecks proactively, maintaining operational simplicity while improving productivity by reducing the number of iterative cycles needed.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8645922B2System and method of implementing a concurrency profiler
Publication Date: 2014.02.04 SAP SE
  • US8645922B2 patent drawing
  • US8645922B2 patent drawing
  • US8645922B2 patent drawing

AI summary

In one embodiment the present invention includes a computer-implemented method of measuring bottlenecks in a computer program implemented in a hardware client-server environment. The method includes defining an execution parameter to measure of the hardware client-server environment. The method further includes modifying code blocks to include instrumentation code. The instrumentation code relates to the execution parameter. The method further includes executing, in the hardware client-server environment, the code blocks having been modified. The method further includes generating instrumentation data, related to the execution parameter, that result from executing the code blocks. The method further includes outputting the instrumentation data having been generated. In this manner, the bottlenecks may be measured; the measured bottlenecks may be sorted; noteworthy bottlenecks may be identified; and the aspects of the hardware client-server environment may be adjusted to address the bottlenecks. Sorting is helpful because thousands of synchronization points may be detected and measured, but many of them do not represent a problem that requires correction.