Tracking Asynchronous Entry Points via Context Objects

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Monitoring transactions involving separate asynchronous threads is challenging due to their lack of linkage, making it difficult to track the start and end of these threads as a single process.

Innovation Solution

A context object is used to determine the end segment for the start segment, and a call element is inserted into the call graph to tie the call graphs of the first and second segments together, allowing for the merging of call data from both threads.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If asynchronous threads are used to handle transactions, then processing speed and scalability are improved, but the ability to track and monitor transactions as a single process deteriorates

Engineering Contradiction:
Improveprocessing speedVSAvoidtransaction tracking difficulty
Core Design Contradiction:
SpeedVSDifficulty of detecting and measuring

Solution Approach 1:

The patent introduces a correlation object as an intermediary mechanism that captures and maintains references to asynchronous threads. This correlation object acts as a mediator between the thread execution context and the monitoring system, enabling transaction tracking across asynchronous boundaries without interfering with the actual thread execution speed or scalability benefits.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent implements feedback mechanisms through correlation objects that track thread execution states and provide monitoring information back to the system. By capturing thread references and execution context in correlation objects, the system can feedback about transaction progress and status across asynchronous threads, resolving the monitoring difficulty while maintaining high processing speed.

Inventive Principle:
Principle #23Feedback

2Adaptability or versatility

If threads are separated into independent segments, then system flexibility and adaptability are improved, but the complexity of monitoring and linking segments deteriorates

Engineering Contradiction:
Improvesystem flexibilityVSAvoidmonitoring complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The correlation object serves as an intermediary that simplifies the monitoring of independent thread segments. By capturing thread references and execution context in these correlation objects, the system can maintain flexibility in thread separation while reducing monitoring complexity through a standardized tracking mechanism.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent creates a universal monitoring framework where correlation objects can track various types of asynchronous operations across different thread segments. This multi-functional approach allows the system to maintain system flexibility for diverse transaction patterns while using a single unified monitoring mechanism, thereby reducing overall complexity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

3Measurement precision

If call graphs from different threads are merged, then transaction monitoring accuracy is improved, but the complexity of data processing and merging deteriorates

Engineering Contradiction:
Improvetransaction monitoring accuracyVSAvoiddata processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The correlation object acts as an intermediary that organizes and structures call graph data from different threads before merging. By capturing and maintaining thread references and execution context in correlation objects, the system can accurately merge call graphs while using the correlation object as an organizing structure that manages the complexity of the merging process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent segments the call graph data collection process by capturing data from individual threads through correlation objects, then merging these segmented data structures. This segmentation approach allows for accurate transaction monitoring by maintaining distinct thread contexts while simplifying the merging operation through structured data organization.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10067862B2Tracking asynchronous entry points for an application
Publication Date: 2018.09.04 CISCO TECHNOLOGY INC
  • US10067862B2 patent drawing
  • US10067862B2 patent drawing
  • US10067862B2 patent drawing

AI summary

Asynchronous operations associated with a request such as synchronous threads, runnable elements, callable elements, and other invokable objects are tracked to determine the metrics about the request and operations. The present technology tracks the start and end of each asynchronous operation and maintains a counter which tracks the currently executing asynchronous operations. By monitoring the request, the start and end of each asynchronous operation associated with the request, and the number of asynchronous operations currently executing, the present technology may identify the end of a request by identifying when the last asynchronous operation associated with the request ends. In some instances, the present technology identifies the end of a request when a counter which tracks the number of asynchronous operations executing reaches a value of zero after the first asynchronous operation has already begun.