Cloud Application Distributor for Dynamic Instance Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud computing systems face inefficiencies in distributing application processes across data centers and cloud machines, leading to unbalanced resource utilization and requiring substantial capacity management efforts.

Innovation Solution

A system that intelligently manages and distributes applications across virtual machines by using a distributor to dynamically adjust the number of instances based on loading metrics, treating bare metal machines similarly to virtual machines, and storing updated distributions in a database, allowing for auto-scaling and improved resource utilization.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications are distributed across cloud machines, then resource sharing and access are improved, but distribution balance and efficiency deteriorate

Engineering Contradiction:
Improveresource sharingVSAvoiddistribution efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent implements dynamic distribution by continuously monitoring loading metrics and automatically adjusting application instance allocation across virtual machines. The system transitions from static to dynamic distribution, where the distributor computes updated distributions based on real-time conditions, ensuring optimal resource utilization and balanced loading without manual intervention.

Inventive Principle:
Principle #15Dynamics

2Quantity of substance

If more capacity is allocated for application distribution, then system capability is improved, but management complexity and effort increase

Engineering Contradiction:
Improvesystem capacityVSAvoidmanagement effort
Core Design Contradiction:
Quantity of substanceVSDevice complexity

Solution Approach 1:

The distributor operates autonomously by automatically monitoring loading metrics, computing updated distributions, and adjusting application instances across virtual machines without human intervention. The system self-manages capacity allocation, eliminating the need for substantial manual management effort while effectively utilizing available system capacity.

Inventive Principle:
Principle #25Self-service

3Productivity

If application instances are redistributed dynamically, then resource utilization is improved, but system complexity increases

Engineering Contradiction:
Improveresource utilizationVSAvoiddistribution management
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements feedback mechanisms by continuously monitoring loading metrics and using this information to dynamically adjust application instance distribution. The distributor receives feedback on system state, computes updated distributions, and applies changes to maintain optimal resource utilization, creating a closed-loop control system that automatically adapts to changing conditions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS11474849B2Distribution of applications among machines in a cloud
Publication Date: 2022.10.18 WALMART APOLLO LLC
  • US11474849B2 patent drawing
  • US11474849B2 patent drawing
  • US11474849B2 patent drawing

AI summary

A system includes at least one processor configured to host virtual machines in a cloud. Each virtual machine executes a plurality of instances of a first application. Each virtual machine also executes a distributor. The distributor is configured for accessing a profile of the application and a distribution of the first application, wherein the distribution identifies a respective first number of instances of the first application to execute in each respective virtual machine. After launch of the first application, the distributor is configured for computing an updated distribution that includes a respective second number of instances of the first application to execute in each respective virtual machine. The distributor is also configured for determining whether the second number of instances is different from the first number of instances. The distributor is configured for storing the updated distribution in a database in response to receiving a lock for accessing the distribution.