Hierarchical Configuration System for Distributed Applications

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current mechanisms for managing configurations in distributed networks are limited, forcing organizations to deploy multiple versions of applications across different environments to achieve customized behavior, leading to inefficient processes, increased resource consumption, and inaccuracies.

Innovation Solution

A centralized hierarchical configuration system that uses a data store to manage configurations based on environment, instance, and category, allowing for granular customization through a configuration control engine that retrieves and applies specific settings via a communication interface, enabling more flexible and efficient application behavior management.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If current mechanisms are used to manage configurations in distributed networks, then applications can be deployed with configurations, but applications running in different environments are limited to using the same configurations, reducing customization capability

Engineering Contradiction:
Improveconfiguration customization capabilityVSAvoidconfiguration management system
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The configuration management system is segmented into multiple hierarchical levels (organization-level, environment-level, instance-level configurations), allowing each level to manage specific aspects of configuration independently. This enables granular customization at different scopes without requiring complete configuration duplication across environments.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a hierarchical dimension to configuration management, organizing configurations across multiple levels (global, environment-specific, instance-specific). This dimensional structure allows applications to inherit configurations from parent levels while overriding specific settings at child levels, enabling customization without increasing overall system complexity.

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

2Adaptability or versatility

If multiple versions of applications are deployed to achieve customized behavior across different environments, then configuration customization is possible, but resource consumption increases and processes become inefficient

Engineering Contradiction:
Improveapplication behavior customizationVSAvoiddeployment efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

A single application version is designed to be universal across multiple environments by implementing a configuration loading mechanism that automatically retrieves appropriate settings based on the runtime environment. The application can function correctly in development, testing, and production environments without requiring separate versions, as the configuration system provides environment-specific parameters dynamically.

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

Solution Approach 2:

Configurations are pre-defined and stored in a centralized repository organized by environment and instance. Before application execution, the configuration control engine pre-loads and validates the appropriate configuration set based on the target environment, ensuring the application is ready for deployment without manual configuration adjustments or multiple version maintenance.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If multiple versions of applications are deployed for environment-specific customization, then tailored behavior is achieved, but resource consumption increases

Engineering Contradiction:
Improveenvironment-specific configurationVSAvoidapplication instances
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

Solution Approach 1:

Multiple environment-specific configurations are merged into a single application instance through hierarchical inheritance. The configuration system combines organization-level default configurations with environment-specific overrides and instance-specific customizations, allowing one application version to serve multiple environments simultaneously with tailored behaviors without duplicating application instances.

Inventive Principle:
Principle #5Merging (Combining)

4Ease of manufacture

If current configuration mechanisms are used, then simple deployment is possible, but inaccuracies occur due to inability to manage granular configurations

Engineering Contradiction:
Improvedeployment simplicityVSAvoidconfiguration accuracy
Core Design Contradiction:
Ease of manufactureVSManufacturing precision

Solution Approach 1:

A configuration control engine acts as an intermediary between the application and the configuration data store. This intermediary automatically resolves configuration hierarchies, handles inheritance rules, and validates configuration parameters, ensuring accurate and precise configuration application without requiring complex manual intervention or sacrificing deployment simplicity.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10459905B2Centralized hierarchical configuration system for applications in a distributed network
Publication Date: 2019.10.29 BANK OF AMERICA CORP
  • US10459905B2 patent drawing
  • US10459905B2 patent drawing
  • US10459905B2 patent drawing

AI summary

Systems are provided for configuring applications in a distributed environment to enable more granular customization of application behavior. A centralized hierarchical configuration data store may be used to store configurations corresponding to a multi-level hierarchical model. The distributed environment may include a plurality of applications hosted by a plurality of application servers, where the application servers and/or applications are associated with an environment, an instance, and a category. The plurality of applications may load and apply configurations via a configuration control engine from the centralized hierarchical configuration data store based on the environment, instance, and category associated with the applications.