In-Place Software Extension via Delta Storage

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering 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

Engineering Contradiction:
ImproveextensibilityVSAvoidartifact integrity
Core Design Contradiction:
Adaptability or versatilityVSStability of the object's composition

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.

Inventive Principle:
Principle #26Copying

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If multiple extensions are developed independently, then customization is enabled, but compatibility and consistency issues arise

Engineering Contradiction:
Improvecustomization capabilityVSAvoidextension compatibility
Core Design Contradiction:
Adaptability or versatilityVSReliability

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.

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

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.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If the base software is modified to support extensions, then extensibility is improved, but the complexity of the base software increases

Engineering Contradiction:
Improveextension supportVSAvoidbase software complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #2Taking out (Extraction)

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.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS9542178B2In-place definition of software extensions
Publication Date: 2017.01.10 SAP SE
  • US9542178B2 patent drawing
  • US9542178B2 patent drawing
  • US9542178B2 patent drawing

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.