In-Place Software Extension via Delta Storage
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Software applications often lack extensibility mechanisms that allow customers and third-party developers to easily add or modify functionalities without altering the base software, leading to complexity and incompatibility issues with existing extensions.
Innovation Solution
The implementation of in-place extension methods that allow developers to define and apply extensions to software artifacts without modifying the original artifacts, using graphical editors to create and store deltas in a separate extension repository, enabling reusable and modular extensions.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If extensions are applied directly to artifacts, then the functionality is extended, but the original artifacts are modified and integrity is lost
Solution Approach 1:
The patent creates a copy of the artifact and applies extensions to the copy rather than the original. The extension is stored as a separate delta that can be applied to recreate the extended version without modifying the source artifact, thus preserving integrity while enabling extensibility.
Solution Approach 2:
The patent introduces an intermediary extension mechanism that acts as a mediator between the original artifact and the extended functionality. The extension is defined as a separate entity (delta) that bridges the gap between the base artifact and the desired extended behavior without direct modification.
2Adaptability or versatility
If multiple extensions are developed independently, then customization is enabled, but compatibility and consistency issues arise
Solution Approach 1:
The patent creates a universal extension mechanism that can accommodate multiple independent extensions through a common interface and storage format. All extensions follow the same delta structure and application process, ensuring consistency and compatibility across different customizations.
Solution Approach 2:
The patent segments extensions into independent, modular units (deltas) that can be developed, stored, and applied separately. Each extension is self-contained and can be managed independently while maintaining compatibility through the unified extension framework.
3Adaptability or versatility
If the base software is modified to support extensions, then extensibility is improved, but the complexity of the base software increases
Solution Approach 1:
The patent extracts the extension logic from the base software and stores it separately as external artifacts (deltas). The base software maintains a simple, unchanged core while extension functionality is isolated in separate files that are applied when needed, reducing base software complexity.
Solution Approach 2:
The patent prepares extension artifacts in advance as separate, pre-defined deltas that can be applied to the base software without modifying it. This preliminary preparation of extensions externally allows the base software to remain simple while still supporting extensibility through pre-packaged extension units.
Data Source
AI summary
Implementations of the present disclosure include methods, systems, and computer-readable storage mediums for providing in-place extensions to an application, including receiving one or more artifacts associated with the application; graphically depicting a representation of at least one artifact of the one or more artifacts on a display, the at least one artifact comprising extension points defined by a developer of the application; receiving first user input indicating a first extension to the at least one artifact, the first extension being associated with an extension point of the one or more extension points and being applied to the representation, the at least one artifact remaining unchanged in view of the first extension being applied to the representation; determining a delta based on the first extension and the at least one artifact; and storing the delta in an extension repository, the delta being usable to extend one or more other artifacts.


