Delta Layering for Software Application Configuration
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The architecture of typical software applications makes it difficult for third-party developers to develop and deploy additional content without modifying application configuration settings, which can adversely affect other portions of the software.
Innovation Solution
A layered architecture is introduced that separates application modifications into distinct layers, using transformation schemas to link and manage configuration settings between layers, allowing for the creation and distribution of highly-transportable modifications and simplifying application configuration by masking, merging, or filtering settings.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If additional content is developed for software applications, then functionality and adaptability are improved, but deployment complexity and configuration modification requirements increase
Solution Approach 1:
The patent divides application content into distinct layers (base application layer, customization layer, extension layer) where each layer can be independently developed, tested, and deployed. This segmentation allows additional content to be added without affecting the core application structure, resolving the contradiction between improved functionality and deployment complexity.
Solution Approach 2:
The patent implements a nested layer architecture where customization and extension layers are built upon the base application layer. The customization layer contains user-specific modifications, while the extension layer contains third-party additions, with both layers nested within the base application framework. This nesting enables incremental deployment without requiring modification of the core application.
2Adaptability or versatility
If configuration settings are modified to deploy additional content, then content deployment is enabled, but adverse effects on other application portions occur
Solution Approach 1:
The patent segments configuration settings into layer-specific configuration files (base configuration, customization configuration, extension configuration). Each layer has its own isolated configuration settings that do not interfere with other layers. This segmentation allows content deployment through localized configuration changes without causing adverse effects on stable application portions.
Solution Approach 2:
The patent introduces a configuration manager component that acts as an intermediary between the deployment process and the application configuration. This mediator handles the deployment of additional content by automatically applying layer-specific configurations through transformation schemas, preventing direct modification of core application settings and thus avoiding adverse effects on application stability.
3Adaptability or versatility
If application configuration settings are modified, then additional content can be deployed, but configuration management complexity increases
Solution Approach 1:
The patent divides configuration management into separate layer-specific configuration files with clear delimiters and transformation schemas. Each layer's configuration is independently managed and validated. This segmentation simplifies configuration management by isolating changes to specific layers rather than managing a monolithic configuration system.
Solution Approach 2:
The patent introduces transformation schemas that define how configuration parameters are mapped between layers. These schemas automatically handle parameter transformations during deployment, converting base application parameters into layer-specific parameters. This parameter change mechanism simplifies configuration management by automating the mapping process and eliminating manual intervention in complex configuration interactions.
Data Source
AI summary
The present subject mater relates to configuration of software applications and, more particularly, delta layering of software application content. The various embodiments described herein provide systems, methods, and software to store a first application instance in a first layer and modify the first application instance, wherein the modifying includes a modification to one or more items of first application instance content. Some embodiments further store the first application instance modifications in a second layer, wherein the second layer can be deployed to a second application instance.


