Application Execution Management Server Feature Control

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Software application updates often lead to unforeseen consequences on end-user systems, making it difficult to reverse changes and test features effectively in real-world environments without affecting all users.

Innovation Solution

A system architecture that includes a configurable application execution management server, developer system, and monitor system, allowing developers to selectively enable, disable, or modify features of software applications on user systems, with periodic updates and performance monitoring to detect and address issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software updates are distributed to all end users after internal testing, then the application can be improved with new features and bug fixes, but unforeseen bugs and performance issues may occur in real-world environments

Engineering Contradiction:
Improveapplication stabilityVSAvoidreal-world testing capability
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system performs preliminary actions by distributing updated application versions to selected end users before full deployment. This allows real-world testing of updates on actual user systems while maintaining control over the rollout scope, enabling detection of unforeseen bugs before universal distribution.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the parameter of update distribution scope by allowing selective deployment to specific user groups rather than all users simultaneously. This enables controlled experimentation with different update configurations and facilitates rollback if performance issues arise.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If updates are deployed to all users, then application improvements can be delivered, but it becomes difficult or impossible to reverse unforeseen consequences

Engineering Contradiction:
Improveupdate deployment speedVSAvoidupdate rollback capability
Core Design Contradiction:
ProductivityVSEase of repair

Solution Approach 1:

The system introduces dynamics by making update deployment reversible and configurable. Updates can be selectively rolled back to previous versions for specific user groups, and the system can dynamically adjust which users receive which update versions based on performance monitoring and feedback.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system segments the user base into different groups that can receive different update versions. This segmentation enables selective rollback to previous versions for affected groups while maintaining new versions for other groups, making the rollback process manageable and targeted rather than requiring universal rollback.

Inventive Principle:
Principle #1Segmentation

3Loss of information

If updates are distributed widely, then real-world feedback can be obtained, but control over the updates is lost

Engineering Contradiction:
Improvereal-world usage data collectionVSAvoidupdate control mechanism
Core Design Contradiction:
Loss of informationVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms by monitoring updated application versions on end user systems and collecting performance data. This feedback loop allows developers to observe real-world usage patterns and identify issues while maintaining control through the ability to push corrective updates or rollbacks based on the collected information.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system introduces an intermediary update management layer between the developer and end users. This intermediary maintains control by managing the distribution, monitoring, and rollback processes, while still enabling widespread deployment and data collection through controlled channels.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS11675603B2Systems and methods for providing control of application execution
Publication Date: 2023.06.13 HARNESS INC
  • US11675603B2 patent drawing
  • US11675603B2 patent drawing
  • US11675603B2 patent drawing

AI summary

A method and apparatus for enabling control of execution of software applications is described. The method may include receiving an identifier for a user system, an identifier of a feature of an application running on the user system, and one or more definition values that define a treatment to be applied to the application feature. The method may also include storing the identifier for the user system, the identifier of the feature of an application running on the user system, and the definition values to be applied to the application feature. Furthermore, the method may include applying the definition values to the application feature at the user system based on the identifier for the user system stored in the memory, wherein the definition values configures the feature within the application while the application is running at the user system.