Cloud Elasticity Controller for Dynamic VM Load Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud service providers face challenges in determining the optimal amount of resources to lease from cloud providers under the Pay-As-You-Go model, balancing resource allocation with operational expenses and service quality, especially due to varying user demands and the complexity of tracking server performance in large cloud-based services.

Innovation Solution

A cloud computing elasticity architecture that includes a task assignment policy and VM management policy, allowing for distributed operation without full system state knowledge, where new jobs are routed to the most loaded VM within operational bounds and new VMs are instantiated only when all sampled VMs exceed an activation threshold, enabling efficient resource allocation and cost reduction.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If more resources are leased from the cloud, then service quality is improved, but operational expenses increase

Engineering Contradiction:
Improveservice qualityVSAvoidoperational expenses
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The patent implements dynamic resource allocation where the service provider continuously monitors system load and automatically adjusts the number of active VMs based on actual demand. This dynamic approach allows the system to scale resources up during high-demand periods to maintain service quality and scale down during low-demand periods to reduce operational expenses, resolving the contradiction between reliable service delivery and cost efficiency

Inventive Principle:
Principle #15Dynamics

2Productivity

If the amount of allocated resources is increased, then revenue potential is improved, but over-provisioning leads to decreased revenue

Engineering Contradiction:
Improverevenue potentialVSAvoidallocated resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent employs a feedback mechanism where the elasticity controller continuously monitors service performance metrics and user demand patterns. Based on this feedback, the system intelligently adjusts resource allocation to match actual demand, preventing both under-provisioning (which would limit revenue potential) and over-provisioning (which would waste resources and decrease revenue). This closed-loop control optimizes the relationship between allocated resources and revenue generation

Inventive Principle:
Principle #23Feedback

3Measurement precision

If tracking of each server performance is implemented, then resource allocation accuracy is improved, but system complexity increases

Engineering Contradiction:
Improveresource allocation accuracyVSAvoidsystem complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an elasticity controller as an intermediary component that aggregates and analyzes performance data from multiple servers. Rather than requiring complex direct tracking of every individual server metric, the elasticity controller serves as a central intelligence that receives summarized performance information and makes high-level resource allocation decisions. This intermediary approach maintains accurate resource allocation while significantly reducing the overall system complexity by abstracting away the detailed tracking requirements

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10387208B2Distributed cloud computing elasticity
Publication Date: 2019.08.20 TECHNION RES & DEV FOUND LTD
  • US10387208B2 patent drawing
  • US10387208B2 patent drawing
  • US10387208B2 patent drawing

AI summary

A method comprising, in a cloud computing system: receiving a new job at the cloud computing system; sampling VMs (Virtual Machines) of the cloud computing system for the load currently handled by each of the VMs; if the load currently handled by the VMs is within operational bounds, sending the new job to one of the VMs which currently handles the highest load compared to other ones of the VMs; and if the load currently handled by the VMs is beyond operational bounds, sending the new job to one of the VMs which currently handles the lowest load compared to other ones of the VMs.