Hyper Dynamic JMX Framework for Runtime Metric Exposure

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Java Management Extension (JMX) technologies are limited in dynamically exposing metrics and managing application performance, as they require static MBeans and cannot add or remove attributes or operations at runtime, making it difficult to maintain high service performance and user experience in complex web service infrastructures.

Innovation Solution

The Hyper Dynamic JMX framework uses a dynamic MBean proxy with reflection chaining techniques to create a highly dynamic infrastructure for exposing JMX attributes, allowing for dynamic creation and modification of attributes and operations without restarting the JVM, enabling on-demand exposure of metrics and analytics.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If static MBeans are used in traditional JMX, then system stability is maintained, but the ability to dynamically expose metrics at runtime is limited

Engineering Contradiction:
Improvedynamic metric exposure capabilityVSAvoidMBean structure complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements dynamic MBeans that can add, remove, and modify attributes and operations at runtime without requiring JVM restart. The MBean structure transitions from static to dynamic, allowing the management interface to adapt to changing monitoring requirements while the application is running.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent separates the MBean structure into configurable components (attributes, operations, relationships) that can be independently managed and modified. This segmentation allows specific metrics to be exposed or hidden without affecting the entire MBean structure, enabling fine-grained dynamic control.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If code changes are made to expose new metrics, then metric exposure capability is improved, but development time and total cost of ownership increase

Engineering Contradiction:
Improvemetric exposure flexibilityVSAvoiddevelopment and deployment time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system enables runtime configuration of MBean attributes and operations without requiring developer intervention or code changes. Administrators can dynamically expose new metrics by configuring the dynamic MBean, which automatically generates the necessary management interface elements.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The patent allows changing the parameters of the MBean management interface at runtime, including adding new attributes, modifying existing ones, and creating new operations. These parameter changes take effect immediately without requiring recompilation or restart of the Java application.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If JVM restart is performed to add new MBeans, then complete metric exposure is achieved, but service availability and performance are degraded

Engineering Contradiction:
ImproveMBean configuration flexibilityVSAvoidservice availability
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

The dynamic MBean implementation allows the MBean structure to be modified at runtime without stopping the Java Virtual Machine. New attributes, operations, and relationships can be added or removed while the application continues to run, maintaining service availability.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system performs preliminary setup of the dynamic MBean framework during application initialization, establishing the infrastructure for runtime modifications. This preliminary action enables subsequent dynamic changes to be made without requiring JVM restart, as the framework is already in place to handle dynamic configuration.

Inventive Principle:
Principle #10Preliminary action

4Productivity

If traditional JMX is used without dynamic capabilities, then system simplicity is maintained, but troubleshooting and performance management capabilities are limited

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

Solution Approach 1:

The patent introduces a dynamic MBean layer that acts as an intermediary between the existing JMX infrastructure and the application being monitored. This intermediary provides dynamic configuration capabilities while leveraging the established JMX mechanisms for metric collection and exposure, minimizing the need for fundamental architectural changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentEP3616061B1Hyper dynamic JAVA management extension
Publication Date: 2024.03.20 CISCO TECHNOLOGY INC
  • EP3616061B1 patent drawingFigure 1A
  • EP3616061B1 patent drawingFigure 1B~1C
  • EP3616061B1 patent drawingFigure 1D~1E

AI summary

In one aspect, a system for exposing application metrics on the fly is disclosed. The system includes a processor; a memory; and one or more modules stored in the memory and executable by a processor to perform various operations. The operations include initialize a Java managed object for Java Management Extension (JMX); attach the initialized Java managed object to a repository for Java managed objects accessible by applications; create a fixed reference to an attributes field in the attached Java managed object; provide the created fixed reference to the repository after initialization of the Java managed object; save the fixed reference; describe an attribute to be created; and create a new attribute in the Java managed object.