Polling Thread for Java Application Monitoring

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional techniques for instrumenting Java application code for in-production monitoring require developers to construct JavaBean objects and dynamic management beans, which can reduce the performance of the main execution thread, making it unsuitable for production monitoring.

Innovation Solution

A system and method where a polling thread executes in the background to navigate the application program structure, locate administrative objects, and register them with a management server, allowing for monitoring without burdening the main thread, thus maintaining performance.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If JMX server interactions are performed on the main execution thread, then monitoring functionality is achieved, but application program performance is reduced

Engineering Contradiction:
Improvemonitoring functionalityVSAvoidapplication program performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent separates monitoring interactions from the main execution thread by creating a dedicated poller thread. This segmentation allows the main thread to focus on application logic while the poller thread handles all JMX server communications, thus maintaining application performance while achieving monitoring functionality.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The poller thread acts as an intermediary between the application program and the JMX server. It navigates the application program structure to locate administrative objects and performs all management server interactions, shielding the main execution thread from performance-impactful monitoring operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If developers manually construct MBeans and register them with the JMX server, then monitoring is configured, but the instrumentation process becomes complex

Engineering Contradiction:
Improvemonitoring configurationVSAvoidinstrumentation process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The poller thread automatically navigates the application program structure to locate administrative objects and performs self-registration with the JMX server. This eliminates the need for developers to manually construct and register MBeans, reducing instrumentation complexity while ensuring proper monitoring configuration.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent replaces the manual mechanical process of constructing and registering MBeans with an automated systematic approach. The poller thread systematically navigates the application structure, identifies administrative objects, and automatically completes registration, substituting developer manual work with an automated mechanism.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

Data Source

PatentUS8667472B1System and method of instrumenting code for in-production monitoring
Publication Date: 2014.03.04 DISNEY ENTERPRISES INC
  • US8667472B1 patent drawing
  • US8667472B1 patent drawing
  • US8667472B1 patent drawing

AI summary

A system and method configured to instrument code for in-production monitoring provides a polling thread. A main thread executes the code of an instrumented application program and the polling thread executes in the background. Therefore the polling thread does not reduce the performance of the application program execution while monitoring activities are performed. Additionally, the polling thread is configured to simplify the process of instrumenting code for Java management extensions (JMX) by navigating the application program structure to locate administrative objects to bind to JMX and registering the administrative objects with JMX to enable monitoring of the instrumented code.