Modular Java Framework for Hot Deployment and Version Isolation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

The development and deployment of software applications are time-consuming and often require duplicative coding, with monolithic procedures lacking easy failover capabilities, making it difficult to run multiple versions of the same application and impacting high availability.

Innovation Solution

The implementation of a modularized generic framework API system that allows for deployment across any JAVA-based application, enabling multiple runtime versions and hot deployment, with independent classloaders managing different versions of the same class, and providing standardized pluggable framework applications for logging and exception handling.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If monolithic procedures are used for application deployment, then the deployment process is straightforward, but failover capability is lost and high availability is impacted

Engineering Contradiction:
Improvehigh availabilityVSAvoiddeployment architecture
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent segments the application deployment architecture into modular components including independent classloaders, service interfaces, and pluggable framework elements. This segmentation enables individual components to fail independently without bringing down the entire system, thus providing failover capability while maintaining high availability.

Inventive Principle:
Principle #1Segmentation

2Adaptability or versatility

If multiple versions of the same application are deployed, then version flexibility is improved, but conflicts between versions occur

Engineering Contradiction:
Improveversion flexibilityVSAvoidversion compatibility
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

Solution Approach 1:

The patent introduces a new dimension of isolation through separate classloader instances for each application version. This dimensional separation allows multiple versions of the same application to coexist without interfering with each other's class definitions, resolving version conflicts while maintaining stability.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The pluggable framework with standardized service interfaces acts as an intermediary layer between different application versions and the underlying system. This intermediary enables version flexibility by allowing multiple versions to interact through standardized contracts while preventing direct conflicts between version-specific implementations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If developers write custom code for each application, then application-specific functionality is achieved, but duplicative coding increases development time

Engineering Contradiction:
Improvedevelopment timeVSAvoidcode structure
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements a universal pluggable framework with common service interfaces that can be reused across multiple applications. This universal structure eliminates duplicative coding by providing standardized implementations for common functionality, while still allowing application-specific customization through the pluggable architecture.

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

Solution Approach 2:

The framework enables developers to copy and reuse proven service implementations and configurations across different applications. Instead of writing custom code from scratch for each application, developers can leverage existing framework components and plug them into new applications, significantly reducing development time.

Inventive Principle:
Principle #26Copying

4Adaptability or versatility

If a single classloader is used for all applications, then memory usage is optimized, but the ability to run multiple runtime versions is lost

Engineering Contradiction:
Improveruntime version supportVSAvoidmemory resources
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

The patent segments the classloading functionality into separate classloader instances for each application or runtime version. This segmentation isolates class definitions to their respective classloaders, enabling multiple runtime versions to coexist in the same JVM process. While this increases memory usage compared to a single classloader, it enables the critical capability of running multiple versions simultaneously without conflicts.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10866787B2Pluggable framework
Publication Date: 2020.12.15 AMERICAN EXPRESS TRAVEL RELATED SERVICES CO INC
  • US10866787B2 patent drawing
  • US10866787B2 patent drawing
  • US10866787B2 patent drawing

AI summary

A system includes modularized generic framework applications that are built to be deployable across any Java based application, with the ability to maintain multiple runtime versions. Pluggable framework applications may be self-contained units of APIs and implementations. The pluggable framework applications may be written in Java. The pluggable framework applications may be independently scalable, deployable, changeable and/or replaceable modules. The pluggable framework applications may be modular, scalable, and have high availability, as well as allow for hot deployment, standardization, easy integration, and/or code reuse.