Gate Application for Software Feature Release Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
The existing methods for releasing new features in software applications, such as social networking apps, require iterative code deployment to multiple servers, leading to inefficiencies, increased effort, and consistency issues due to the need for different versions of the application on different servers, which complicates version management and increases costs.
Innovation Solution
A gate application that determines feature availability based on predefined parameters and criteria, allowing features to be made accessible to specific user subsets without modifying the application code, thereby eliminating the need for different versions on different servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If iterative code deployment is used to release features to different user subsets, then feature availability control is achieved, but deployment complexity and version management difficulty increase
Solution Approach 1:
The system segments feature availability control by introducing gate applications that act as intermediaries between users and application features. Each gate application contains specific criteria (user attributes, geographic location, device type) that determine whether a user can access particular features. This segmentation allows different user subsets to access different features without requiring different application versions on servers.
Solution Approach 2:
Gate applications serve as intermediary components deployed on client devices rather than servers. These gate applications evaluate user attributes against predefined criteria and control feature access locally. This intermediary approach eliminates the need for iterative server-side code deployment while achieving fine-grained feature availability control across different user subsets.
2Adaptability or versatility
If multiple versions of the application are deployed on different servers, then feature availability to specific user subsets is controlled, but version consistency problems arise
Solution Approach 1:
Instead of deploying different application versions on servers to control feature availability, the patent inverts the approach by deploying a single application version on all servers and placing the feature control logic in gate applications on client devices. This inversion ensures version consistency on servers while achieving the same feature availability control objectives.
Solution Approach 2:
A single universal application version is deployed on all servers, capable of serving all user subsets. The gate applications on client devices provide multi-functional control by evaluating different criteria (user attributes, location, device type) to determine feature access. This universal deployment eliminates version consistency problems while maintaining adaptability.
3Adaptability or versatility
If code is recompiled and redeployed when feature criteria change, then feature availability is updated, but deployment effort and time increase
Solution Approach 1:
The gate applications incorporate dynamic, configurable criteria that can be modified without recompiling the main application code. Criteria such as user attributes, geographic location, and device type can be adjusted in the gate applications deployed on client devices. This dynamic configuration allows rapid response to changing feature release requirements without time-consuming server-side code recompilation and redeployment cycles.
4Reliability
If iterative deployment is used to manage server load, then load management is improved, but deployment complexity increases
Solution Approach 1:
The system segments the load management function by placing intelligence in gate applications on client devices. These gate applications pre-evaluate user eligibility for features based on predefined criteria, filtering requests before they reach servers. This segmentation reduces server load without requiring complex iterative deployment strategies, as the filtering occurs locally at the client level.
Data Source
AI summary
The disclosure is directed to controlling availability of a feature of an application without having to change a code of the application. A gate application employs a “gate” that facilitates making a feature available to a set of users without having to change the code of the application as the set of users to whom the feature is to be made available change. The gate includes parameters and criteria that can determine whether a particular feature of the application, e.g., a photo tagging feature of a social networking application, is to be made available to a particular user. If the request attributes, e.g., attributes associated with a requesting user, satisfy the criteria defined in the gate, the gate indicates to the host application to make the feature available, which then executes a portion of the code corresponding to the particular feature to make the particular feature available to the user.


