Dynamic XML Schema Loading in Java Virtual Machine

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In high-traffic, high-availability computing systems, existing methods for processing XML data require recompilation and redeployment of code to accommodate changes or new data structures, which is inefficient and disruptive.

Innovation Solution

A system and method for dynamically loading XML schema definition files into a Java Virtual Machine (JVM) during runtime, generating Java objects, identifying and grouping namespaces, creating new XSD files, compiling Java classes into bytecode, and loading the bytecode into a ClassLoader, allowing for dynamic data structure modifications without recompilation.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If code is recompiled and redeployed to accommodate changes or new data structures, then data structure adaptability is improved, but system availability and productivity deteriorate due to downtime and disruption

Engineering Contradiction:
Improvedata structure adaptabilityVSAvoidsystem availability
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic class generation during runtime, allowing the system to adapt to new data structures without static compilation. The ClassGenerator creates Java classes on-the-fly based on incoming XML schemas, enabling the system to dynamically adjust its data handling capabilities while maintaining continuous operation and high availability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent segments the code generation process into modular components: schema parsing, class generation, bytecode compilation, and class loading. This segmentation allows individual components to be updated independently during runtime without requiring full system recompilation, thereby maintaining system availability while improving data structure adaptability

Inventive Principle:
Principle #1Segmentation

2Manufacturing precision

If code is recompiled to accommodate changes or new data structures, then manufacturing precision of data handling is improved, but loss of time due to recompilation and redeployment increases

Engineering Contradiction:
Improvedata handling precisionVSAvoidrecompilation time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent performs preliminary schema validation and class generation before actual data processing occurs. By pre-generating classes from XML schemas during idle periods or in parallel with data processing, the system ensures data handling precision is maintained while minimizing the time lost to compilation activities

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent introduces an intermediary class generation system that acts as a bridge between XML schemas and data processing operations. This intermediary layer translates schemas into executable Java classes on-demand, eliminating the need for time-consuming recompilation cycles while ensuring precise data handling through schema-based validation

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If traditional XML data binding is used with compile-time defined data structures, then reliability of data validation is improved, but adaptability to new data structures deteriorates

Engineering Contradiction:
Improvedata validation reliabilityVSAvoiddata structure adaptability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent implements dynamic class generation during runtime, allowing the system to adapt to new data structures without static compilation. The ClassGenerator creates Java classes on-the-fly based on incoming XML schemas, enabling the system to dynamically adjust its data handling capabilities while maintaining continuous operation and high availability

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent incorporates feedback loops where the system continuously monitors incoming XML data, validates it against known schemas, and automatically generates or updates Java classes based on validation results. This feedback mechanism ensures data validation reliability is maintained while enabling automatic adaptation to new data structures

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS10838743B2Systems and methods for processing extensible markup language data during runtime
Publication Date: 2020.11.17 MASTERCARD INT INC
  • US10838743B2 patent drawing
  • US10838743B2 patent drawing

AI summary

A method for dynamically loading one or more Extensible Mark-up Language (XML) schema definition (XSD) files into a JAVA™ Virtual Machine (JVM) during runtime is provided. The method includes generating JAVA™ objects from one or more initial XSD files. The method further includes grouping the JAVA™ objects by namespaces. The method also includes creating new XSD files for the namespaces. The new XSD file includes references to the initial XSD files that include a same namespace. The method further includes generating JAVA™ classes from the new XSD files. The method also includes compiling the new JAVA™ classes into bytecode. The bytecode is loaded into a ClassLoader, wherein the ClassLoader is available to the JVM during runtime.