Application Execution Management Server Feature Control
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Productivity
If updates are deployed to all users, then application improvements can be delivered, but it becomes difficult or impossible to reverse unforeseen consequences
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.
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.
3Loss of information
If updates are distributed widely, then real-world feedback can be obtained, but control over the updates is lost
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.
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.
Data Source
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.


