Dynamic Post-Change Computing System Evaluation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Computing systems often experience performance issues due to software updates, which can contain bugs, leading to diminished performance or system failure, and human intervention may introduce errors in diagnosis and remediation.

Innovation Solution

A computing system is configured to self-identify changes in functionality, run diagnostic tests, and determine a relative performance score, automatically throttling data transactions or rolling back updates if the score falls below a threshold, thereby mitigating performance issues without human intervention.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If software updates are installed to maintain security and improve functionality, then system security and functionality are improved, but system performance may deteriorate due to bugs in the updates

Engineering Contradiction:
Improvesystem securityVSAvoidsystem performance
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by implementing a canary deployment mechanism where a subset of instances receives the software update before full deployment. This allows early detection of performance issues before they affect the entire system, resolving the contradiction by enabling security updates while maintaining overall system performance through staged rollout.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes parameters by dynamically adjusting the proportion of instances running updated versus non-updated software based on performance monitoring. When performance degradation is detected in the canary group, the system rolls back the update for those instances while maintaining updates for others, thus balancing security improvements with performance preservation.

Inventive Principle:
Principle #35Parameter changes

2Ease of repair

If manual diagnosis and remediation are performed by human operators, then system issues can be addressed, but human error may introduce additional mistakes and delay resolution

Engineering Contradiction:
Improveissue resolution capabilityVSAvoidremediation accuracy
Core Design Contradiction:
Ease of repairVSReliability

Solution Approach 1:

The system implements self-service by automatically detecting performance degradation, comparing metrics between canary and control groups, and triggering rollbacks without human intervention. This eliminates human error in diagnosis and remediation while maintaining the capability to resolve issues, thus improving both remediation accuracy and reliability.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system establishes continuous feedback loops where performance metrics from canary instances are monitored and compared against control instances in real-time. This automated feedback mechanism enables the system to detect issues and initiate corrective actions automatically, replacing manual diagnosis with reliable automated decision-making.

Inventive Principle:
Principle #23Feedback

3Speed

If software updates are deployed to all instances simultaneously, then deployment speed is improved, but the risk of widespread performance degradation increases

Engineering Contradiction:
Improvedeployment speedVSAvoidwidespread performance degradation
Core Design Contradiction:
SpeedVSObject-affected harmful factors

Solution Approach 1:

The system applies segmentation by dividing instances into distinct groups: canary instances that receive updates first and control instances that run existing software. This segmentation allows controlled deployment where only a subset is exposed to potential bugs, preventing widespread performance degradation while maintaining relatively fast deployment through parallel processing of multiple canary groups.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system implements beforehand cushioning by creating a buffer zone with canary instances that absorb the potential harmful effects of buggy updates. These canary instances serve as a cushion that protects the majority of the system from widespread performance degradation, allowing safe testing before full deployment.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

4Measurement precision

If diagnostic tests are run frequently to detect performance issues early, then detection accuracy is improved, but system overhead and resource consumption increase

Engineering Contradiction:
Improveperformance issue detectionVSAvoidsystem overhead
Core Design Contradiction:
Measurement precisionVSUse of energy by moving object

Solution Approach 1:

The system applies partial action by running diagnostic tests only on canary instances rather than all instances, and only when performance thresholds are approached. This selective monitoring achieves sufficient detection accuracy for early warning while minimizing system overhead by avoiding redundant testing on control instances that are known to be stable.

Inventive Principle:
Principle #16Partial or excessive action

Data Source

PatentUS11720470B2Dynamic post-change computing-system evaluation
Publication Date: 2023.08.08 UNITEDHEALTH GROUP INC
  • US11720470B2 patent drawing
  • US11720470B2 patent drawing
  • US11720470B2 patent drawing

AI summary

A performance-monitoring system is configured to determine whether a diminished performance of a computing system warrants prompt remedial action by generating a score indicative of various aspects of the computing system. In some examples, the performance-monitoring system identifies a change to a computing system comprising at least one server running two or more applications; runs one or more diagnostic tests on each of the two or more applications to collect additional performance data; determines, based on the additional performance data, a relative performance score for each of the two or more applications, wherein the relative performance score for a respective application indicates at least an effect of the change on an ability of a user to use the respective application to perform one or more user operations; determines that the performance score is less than a threshold score; and automatically reduces a rate of transaction requests sent to the server.