Distributed Application Parameter Optimization via Utility Curves

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Productivity

If optimization experimentation is performed on distributed applications, then application performance is improved, but downtime risk increases

Engineering Contradiction:
Improveapplication performanceVSAvoidavailability
Core Design Contradiction:
ProductivityVSReliability

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.

Inventive Principle:
Principle #10Preliminary action

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.

Inventive Principle:
Principle #26Copying

2Adaptability or versatility

If multiple stakeholder preferences are considered, then optimization comprehensiveness is improved, but decision complexity increases

Engineering Contradiction:
Improveoptimization comprehensivenessVSAvoiddecision complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

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.

Inventive Principle:
Principle #35Parameter changes

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.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If distributed application complexity increases, then functionality is improved, but optimization difficulty increases

Engineering Contradiction:
ImprovefunctionalityVSAvoidoptimization difficulty
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

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.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

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.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS10666716B1Optimization of application parameters
Publication Date: 2020.05.26 AMAZON TECH INC
  • US10666716B1 patent drawing
  • US10666716B1 patent drawing
  • US10666716B1 patent drawing

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.