Runtime Application Tag Interpretation for Software Customization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Developing and maintaining different versions of software applications for subsets of client computers can be expensive and time-consuming, as existing methods require transmitting customized or separate versions of the software.

Innovation Solution

A system and method where a network-accessible server system transmits a general application deliverable to remote computing devices, which includes a runtime-based application that interprets tags to selectively enable or disable pre-existing features, creating alternate implementations without requiring full re-installation or re-deployment.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If separate customized versions of software application are transmitted to each subset of client computers, then different behaviors and functionality can be provided to different subsets, but the cost and time for developing and maintaining multiple versions increases significantly

Engineering Contradiction:
Improveability to provide different software behaviors to different client subsetsVSAvoidcomplexity of developing and maintaining multiple software versions
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The software application is segmented into a core executable component and separate configuration tags. The core application remains unified while tags are segmented to provide different behaviors to different client subsets. This allows customization without creating multiple full versions of the application.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Customization features are extracted from the main application code and placed into separate tag files. These tags contain behavior-dictating instructions that can be independently modified and transmitted without requiring changes to the core application executable, reducing development and maintenance complexity.

Inventive Principle:
Principle #2Taking out (Extraction)

2Adaptability or versatility

If full customized versions of software are deployed to different client subsets, then specific behaviors can be implemented, but the time and resources required for installation and updates increases

Engineering Contradiction:
Improvecustomized software behavior per client subsetVSAvoidtime required for software installation and updates
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

Behavioral customizations are extracted into separate tag files that can be transmitted and applied independently of the main application. This allows rapid deployment of customized behaviors without requiring full application reinstallation, significantly reducing deployment time.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The core application is prepared in advance with embedded tag interpretation capability. When tags are received, the application can immediately interpret and apply the behavior changes without requiring reinstallation or lengthy configuration processes.

Inventive Principle:
Principle #10Preliminary action

3Adaptability or versatility

If multiple versions of software application are maintained, then different functionality can be provided, but the maintenance cost and effort increases

Engineering Contradiction:
Improvedifferent software functionality for different subsetsVSAvoidease of maintaining software versions
Core Design Contradiction:
Adaptability or versatilityVSEase of manufacture

Solution Approach 1:

Functional variations are extracted into separate tag files rather than being hard-coded into multiple application versions. This allows maintainers to update functionality by modifying only the tag files while the core application remains unchanged, significantly reducing maintenance effort.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

A single universal application executable is designed to interpret and execute multiple different tag sets. This multi-functional approach allows one application binary to serve multiple client subsets with different functionalities, eliminating the need to maintain multiple separate versioned executables.

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

Data Source

PatentUS8108497B2Selective enablement of runtime-based application behaviors
Publication Date: 2012.01.31 MICROSOFT TECHNOLOGY LICENSING LLC
  • US8108497B2 patent drawing
  • US8108497B2 patent drawing
  • US8108497B2 patent drawing

AI summary

A system and method for deploying software from a central location to a plurality of remote install sites. The system includes a network-accessible server system and a plurality of computing devices. Based on delivery of a general application deliverable from the server system, a runtime-based application is installed at each of the computing devices. Varying tags are delivered from the network-accessible server system to generate various implementations of the runtime-based application at the computing devices.