Distributed Application Parameter Optimization via Utility Curves
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Optimizing the execution of distributed applications is challenging due to complexity, conflicting optimization preferences among stakeholders, and the risk of downtime during experimentation, especially for high-availability applications.
Innovation Solution
An optimization system that receives preferences from stakeholders, generates candidate sets of application parameter values, and uses utility curves and multi-attribute utility rollup operations to identify optimized parameter values, which are then tested in a production-safe environment to minimize downtime.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If optimization experimentation is performed on distributed applications, then application performance is improved, but downtime risk increases
Solution Approach 1:
The patent performs optimization experimentation in advance in a test execution environment before deploying to production. Candidate sets of application parameter values are tested and evaluated beforehand, so that when the optimized parameters are deployed to the production environment, the actual optimization benefit is achieved without requiring further experimentation that could cause downtime. This preliminary action resolves the contradiction by separating the experimentation phase from the production phase.
Solution Approach 2:
The patent creates a copy of the production execution environment as a test execution environment with identical configuration. Optimization experimentation is performed on this copied environment rather than directly on the production system. The test environment accurately replicates production conditions, allowing safe experimentation without risking actual production availability, thus resolving the contradiction between performance improvement and downtime risk.
2Adaptability or versatility
If multiple stakeholder preferences are considered, then optimization comprehensiveness is improved, but decision complexity increases
Solution Approach 1:
The patent transforms multiple qualitative stakeholder preferences into quantitative utility curves with measurable parameters. Each stakeholder's preferences are converted into mathematical functions that map application parameter values to utility scores. This parameter transformation allows the system to handle multiple stakeholder requirements simultaneously through computational optimization rather than complex manual decision-making, resolving the contradiction between comprehensiveness and decision complexity.
Solution Approach 2:
The patent introduces an optimization component as an intermediary between stakeholders and the distributed application. This component receives preferences from multiple stakeholders, processes them through utility curves and multi-attribute utility rollup operations, and automatically determines optimized parameter values. The intermediary eliminates the need for direct complex negotiations between stakeholders and simplifies the decision-making process into an automated computational task.
3Adaptability or versatility
If distributed application complexity increases, then functionality is improved, but optimization difficulty increases
Solution Approach 1:
The patent replaces manual optimization processes with an automated optimization component that uses computational algorithms. The system automatically performs multi-attribute utility rollup operations, evaluates candidate parameter sets, and determines optimized values without human intervention. This substitution of automated computation for manual analysis resolves the contradiction by making optimization tractable even for complex distributed applications with many services and parameters.
Solution Approach 2:
The patent segments the optimization problem into manageable components: the optimization component separates preference processing from parameter evaluation, and the system tests candidate parameter sets independently before deployment. This segmentation allows the complex optimization task to be broken down into discrete, automated steps that can be handled systematically, reducing the perceived difficulty despite the application's complexity.
Data Source
AI summary
Optimization preferences are defined for optimizing execution of a distributed application. Candidate sets of application parameter values may be tested in test execution environments. Measures of performance for metrics of interest are determined based upon the execution of the distributed application using the candidate sets of application parameter values. Utility curves may be utilized to compute measures of effectiveness for metrics of interest. A multi-attribute rollup operation may utilize the computed measures of effectiveness and weights to compute a grand measure of merit (MOM) for the candidate sets of application parameter values. An optimized set of application parameter values may then be selected based upon the computed grand MOMs. The optimized set of application parameter values may be deployed to a production execution environment executing the distributed application. Production safe application parameters might also be identified and utilized to optimize execution of the distributed application in a production execution environment.


