Web Application Scaling via Simulation Execution Models

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Distributed computer systems face challenges in efficiently scaling web application execution due to varying usage patterns, requiring effective resource management to optimize server usage while maintaining availability.

Innovation Solution

The method involves simulating web application execution on server instances partitioned by hardware processing capabilities, selecting optimal server configurations, and generating an execution model to determine the necessary server types and instances needed to meet performance baselines, thereby optimizing resource allocation and cost.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If more server instances are deployed to handle varying usage patterns, then the system can meet performance requirements during peak usage, but resource expenditure and cost increase

Engineering Contradiction:
Improvetransactions per secondVSAvoidresource expenditure
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The system performs simulation executions before actual deployment to predict performance metrics. By evaluating server configurations in advance through simulations, the system determines optimal server types and instance counts needed to meet performance baselines, avoiding over-provisioning and reducing unnecessary resource expenditure while ensuring performance requirements are met

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system varies parameters such as server type, number of instances, and configuration settings across different simulation executions. By changing these parameters systematically and evaluating their impact on performance metrics, the system identifies optimal configurations that balance performance requirements with resource efficiency

Inventive Principle:
Principle #35Parameter changes

2Reliability

If server configurations are optimized for peak performance, then performance baselines are met, but system complexity increases

Engineering Contradiction:
Improveperformance baselineVSAvoidserver configuration
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The system segments server instances into different server types based on hardware processing capabilities and arranges them in tiers of differing computing system resources. This segmentation allows the system to match specific workloads with appropriate server configurations, meeting performance baselines while maintaining manageable system architecture through organized hierarchy

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system automatically executes simulations, evaluates performance metrics, determines optimal configurations, and generates deployment configurations without manual intervention. This self-service approach handles the complexity of configuration optimization automatically, allowing the system to meet performance baselines while reducing the operational burden of managing complex server configurations

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10887186B2Scalable web services execution
Publication Date: 2021.01.05 INTUIT INC
  • US10887186B2 patent drawing
  • US10887186B2 patent drawing
  • US10887186B2 patent drawing

AI summary

A method for scaling web application execution is claimed. A simulation execution is deployed to server instances to obtain first gathered metrics. The server instances are partitioned into server types based on hardware processing capabilities, and arranged in tiers of computing resources. Server instances of a first selected type form a first selected configuration. A web application is executed, on the first selected configuration, in a web application container to gather the first gathered metrics. When a measured metric fails to meet a baseline, then: a second server type is selected; a second server instance of the second selected type forms a second selected configuration; the web application is executed on the second selected configuration in the web application container to gather second gathered metrics; and an execution model is generated from one of the first gathered metrics and the second gathered metrics.