Virtual Application Package Customization via Metadata Tracking

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing software applications lack efficient mechanisms for managing and persisting changes to their resources, leading to difficulties in creating customized versions and updating applications without interfering with other applications or affecting shared resources.

Innovation Solution

The solution involves organizing applications into packages with metadata that track changes, allowing for the creation of customized versions by generating and re-applying modified components within a virtual environment, and using policies to determine how changes are stored and propagated, enabling seamless updates and customization across different user and system contexts.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications are customized by modifying resources, then customized versions can be created, but changes become difficult to track and manage

Engineering Contradiction:
Improvecustomization capabilityVSAvoidchange management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The application is divided into discrete resources with individual metadata tracks. Each resource can be modified independently, and changes are segmented into tracked modifications rather than monolithic changes, making it easier to manage and revert specific customizations.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system provides feedback by tracking all changes to resources and maintaining metadata about modifications. This allows the system to know what has been customized and how, enabling proper management of customized versions without losing track of original application state.

Inventive Principle:
Principle #23Feedback

2Productivity

If applications are updated with new versions, then improvements can be deployed, but existing customizations may be overwritten or lost

Engineering Contradiction:
Improveupdate efficiencyVSAvoidcustomization preservation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

Before applying updates, the system identifies which resources have been customized through metadata tracking. This preliminary detection allows the system to preserve customizations that should be maintained while applying necessary updates to other resources.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

Different resources within the application have different properties regarding customizability. The system applies updates selectively based on local quality attributes of each resource, allowing some resources to be updated while preserving customizations in other resources that marked as non-updatable.

Inventive Principle:
Principle #3Local quality

3Adaptability or versatility

If changes are applied to shared resources, then functionality can be enhanced, but other applications or users may be affected

Engineering Contradiction:
Improvefunctionality enhancementVSAvoidinterference with other applications
Core Design Contradiction:
Adaptability or versatilityVSObject-affected harmful factors

Solution Approach 1:

The system introduces an intermediary layer of metadata tracking between the application resources and the customization mechanism. This intermediary tracks changes and manages their application, allowing modifications to be made while preventing harmful interference with other applications through controlled propagation of changes.

Inventive Principle:
Principle #24Intermediary (Mediator)

4Device complexity

If comprehensive tracking of all changes is implemented, then customization management improves, but system overhead increases

Engineering Contradiction:
Improvetracking capabilityVSAvoidsystem performance
Core Design Contradiction:
Device complexityVSProductivity

Solution Approach 1:

Instead of tracking every possible change in detail, the system implements partial tracking through metadata attributes that capture essential change information. This partial action approach provides sufficient tracking capability for management purposes while avoiding the excessive overhead of comprehensive detailed logging of all changes.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS8572580B2Computer application packages with customizations
Publication Date: 2013.10.29 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8572580B2 patent drawing
  • US8572580B2 patent drawing
  • US8572580B2 patent drawing

AI summary

Applications operated within a virtual environment may be organized into a package containing various software components. Each software component or resource may have a specific name and other metadata, including a designator for overwriting or modifying the component. A policy may define how any changes to specific software components may be stored and retrieved based on the designator. One or more sets of changed components may be generated, persisted, and re-applied to create a customized version of the application based on the original package. The application may be operated within a virtual application environment or within a dedicated virtual machine environment.