Hierarchical Application Classloading Reduction via Provisioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional enterprise application platforms face resource constraints and performance issues when launching hierarchically configured applications within containers due to the overhead of loading numerous classes during the boot process, which is resource-intensive and affects performance.

Innovation Solution

A provisioning operation is performed to launch the hierarchically configured application within a first container, determine the state of services, and generate serialized data structures representing the service state, allowing the application to be subsequently launched in a second container without loading all conventional classes, thereby reducing classloading overhead.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If conventional EAPs provide advanced management models and APIs with numerous classes, then functionality and management capability are improved, but resource consumption and startup time increase due to loading all classes at launch

Engineering Contradiction:
Improvemanagement capabilityVSAvoidresource consumption
Core Design Contradiction:
Adaptability or versatilityVSUse of energy by moving object

Solution Approach 1:

The patent applies preliminary action by performing a provisioning operation before the actual application launch. During this provisioning phase, the system pre-configures the hierarchical application structure, pre-loads necessary service definitions, and pre-establishes resource descriptions. This allows the application to skip extensive class loading during startup, as the management models and APIs are prepared in advance in a serialized or cached format that can be quickly instantiated without loading all conventional classes.

Inventive Principle:
Principle #10Preliminary action

2Reliability

If all classes are loaded during the boot process, then complete service functionality is ensured, but startup time and performance are degraded

Engineering Contradiction:
Improveservice functionalityVSAvoidstartup time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent segments the class loading process into two distinct phases: a provisioning phase where the hierarchical structure and service definitions are prepared and serialized, and a launch phase where only essential classes are loaded for immediate execution. This segmentation allows the system to separate the heavy structural preparation work from the time-critical startup process, ensuring complete service functionality is defined during provisioning while minimizing startup time by loading only necessary classes during launch.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses copying by creating a serialized representation or model of the complete service structure during provisioning, then using this copy to rapidly instantiate services during launch without loading all original classes. The serialized service definitions and resource descriptions act as templates that can be quickly deserialized and instantiated, providing complete functionality while avoiding the overhead of loading every class from scratch during startup.

Inventive Principle:
Principle #26Copying

3Adaptability or versatility

If hierarchical application structure with resource descriptions and operation handlers is implemented, then advanced management capability is achieved, but device complexity and memory usage increase

Engineering Contradiction:
Improvemanagement capabilityVSAvoidsystem complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies parameter changes by transforming the hierarchical application structure from a fully-loaded in-memory representation to a serialized or cached format during provisioning. This parameter change in the state of the data structure allows the system to maintain complete management capability definitions while reducing the active memory footprint and computational complexity during runtime. The resource descriptions and operation handlers are stored in an optimized format that preserves full functionality while minimizing the complexity burden on the running system.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS11288079B2Reducing classloading of hierarchically configured applications via provisioning
Publication Date: 2022.03.29 RED HAT INC
  • US11288079B2 patent drawing
  • US11288079B2 patent drawing
  • US11288079B2 patent drawing

AI summary

Reducing classloading of hierarchically configured applications via provisioning is disclosed. In one example, a hierarchically configured application is launched within a first container of a container application platform according to a set of resource descriptions that define a structure of the hierarchically configured application, valid operations may be performed by elements of the hierarchically configured application, and handlers for each operation. After the process of loading the classes representing the resource descriptions and operation handlers is performed, services to be used by the hierarchically configured application are installed. The state of each service is then determined, and one or more serialized data structures representing the state of the services is generated. Subsequently, the hierarchically configured application is launched within a second container, with the serialized data structures being used to install the services within the second container while incurring lower classloading overhead.