Model Driven Customization Framework for Software Upgrade Conflicts
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current computing systems face challenges in efficiently managing and applying customizations across multiple layers when updating a base system, leading to potential conflicts and increased developer time, as customizations made by different entities (ISVs, VARs, and end-users) can be incompatible with updates, requiring manual handling and increasing the risk of errors.
Innovation Solution
A system comprising an upgrade system, a difference generation system, a combining engine, and a difference application engine that detects user upgrades, retrieves customized versions, combines customizations with upgrade changes, and applies these changes to the base system, ensuring compatibility and efficient customization management, while utilizing a meta-model to inspect and apply changes effectively.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If customizations are applied by overwriting base application models, then the base system can be customized to meet organizational requirements, but conflicts arise during upgrades and manual handling increases developer time and error risk
Solution Approach 1:
The patent segments the customization management process into distinct components: a customization manager that tracks customizations separately from the base system, a difference generation system that identifies changes, and a combining engine that merges customizations with updates. This segmentation automates what was previously manual work, reducing developer time while preserving full customization capability.
Solution Approach 2:
The patent introduces an intermediary customization manager that acts as a mediator between the base system and customizations. This intermediary tracks customizations independently and facilitates automated merging during upgrades, eliminating the need for manual conflict resolution and reducing developer intervention time.
2Adaptability or versatility
If customizations are applied by overwriting base application models, then the base system can be customized to meet organizational requirements, but conflicts arise during upgrades requiring manual handling
Solution Approach 1:
The patent implements feedback mechanisms through the customization manager that continuously tracks customizations and provides information to the combining engine. This feedback loop enables automated detection and resolution of conflicts between customizations and base system updates, reducing manual intervention and minimizing errors.
Solution Approach 2:
The system enables self-service automation where the customization manager and combining engine automatically manage customization tracking, conflict detection, and merging during upgrades. This self-service approach eliminates manual conflict resolution processes, reducing both developer time and error likelihood.
3Adaptability or versatility
If multiple layers of customization are applied by different entities, then the system can be heavily customized to meet specific organizational needs, but managing and applying these customizations during upgrades becomes complex
Solution Approach 1:
The patent segments the management of multiple customization layers by introducing a hierarchical tracking structure where the customization manager independently records each layer's changes. The combining engine then systematically processes these segmented layers during upgrades, automating the complex merging process and reducing management complexity.
Solution Approach 2:
The customization manager serves as an intermediary that consolidates information from multiple customization layers and presents a unified view to the combining engine. This intermediary abstraction simplifies the management of multi-layer customizations by handling the complexity of tracking and merging automatically.
4Productivity
If customizations are applied by overwriting base application models, then the base system can be customized, but upgrade processes require manual handling increasing error risk
Solution Approach 1:
The patent implements self-service automation where the difference generation system automatically identifies changes, the customization manager tracks customizations, and the combining engine automatically merges them during upgrades. This automated self-service process eliminates manual handling, simultaneously improving upgrade efficiency and reducing error likelihood.
Solution Approach 2:
The system uses feedback mechanisms where the customization manager continuously monitors customizations and provides real-time information to the combining engine during upgrades. This feedback enables automated conflict detection and resolution, improving upgrade efficiency while maintaining high reliability by eliminating manual errors.
Data Source
AI summary
A computing system comprises, in one example, an upgrade system configured to detect a user upgrade input indicating that a base version of a computing system is to be upgraded, by applying a set of upgrade changes to the base version, to obtain an upgraded version of the computing system, a difference generation system configured to retrieve a customized version of the base version of the computing system and identify that the customized version corresponds to the base version with customizations applied, a combining engine configured to obtain the customizations applied to the base version and the upgrade changes, and combine the customizations with the upgrade changes to obtain a full set of changes, and a difference application engine configured to apply the full set of changes to the base version of the computing system to obtain a customized, upgraded version of the computing system.


