Dynamic Virtual Cluster Scaling via Control Messages

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Cloud-based multitenant computing systems face challenges in scaling virtual clusters to achieve optimal performance and cost efficiency, as existing methods do not effectively account for varying workloads and lead to resource wastage due to static provisioning and autoscaling based on CPU and memory usage.

Innovation Solution

The solution involves dynamically scaling virtual computer clusters by starting and terminating nodes based on control messages that indicate the need for processing streaming and non-streaming jobs, allowing for real-time adjustment of resources to match workload demands, thereby optimizing resource utilization and reducing costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If virtual clusters are statically provisioned, then system stability is maintained, but resource utilization efficiency deteriorates due to inability to adapt to varying workloads

Engineering Contradiction:
Improveworkload adaptationVSAvoidresource wastage
Core Design Contradiction:
Adaptability or versatilityVSLoss of energy

Solution Approach 1:

The system dynamically adjusts the number of virtual computer nodes in the cluster based on real-time workload conditions. When workload increases, nodes are added; when workload decreases, nodes are removed. This dynamic provisioning enables the system to adapt to varying workloads while avoiding resource wastage during low-utilization periods.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system implements feedback mechanisms that monitor workload metrics and use this information to trigger scaling decisions. Control messages carry information about workload conditions, and the system responds by adjusting cluster size accordingly, creating a closed-loop control system that optimizes resource utilization based on actual demand.

Inventive Principle:
Principle #23Feedback

2Productivity

If autoscaling is implemented based on CPU and memory usage, then resource utilization improves, but scaling response time deteriorates due to delayed detection of workload changes

Engineering Contradiction:
Improvescaling speedVSAvoidscaling response time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by proactively adding virtual computer nodes before the workload peak occurs. Control messages trigger the addition of nodes in advance, allowing the system to be ready to handle incoming workload immediately rather than waiting for CPU or memory thresholds to be exceeded.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system introduces control messages as intermediaries that carry workload information and scaling decisions. These control messages enable direct communication between workload sources and the virtualization management system, bypassing the need to wait for traditional metrics collection and analysis, thus accelerating the scaling response.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Productivity

If more virtual computer nodes are deployed, then message processing capacity increases, but system cost deteriorates due to increased infrastructure requirements

Engineering Contradiction:
Improvemessage processing capacityVSAvoidinfrastructure resources
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The system uses dynamic provisioning to match infrastructure resources with actual message processing needs. Virtual computer nodes are added only when workload requires additional capacity, and removed when capacity is no longer needed, ensuring that infrastructure resources are optimized to match productivity requirements at all times.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10904303B2Control message from streaming source to facilitate scaling
Publication Date: 2021.01.26 SALESFORCE INC
  • US10904303B2 patent drawing
  • US10904303B2 patent drawing
  • US10904303B2 patent drawing

AI summary

A cloud computing service is used to deploy a virtual computer cluster. The virtual computer cluster is initialized with a set of one or more streaming nodes for processing first messages of one or more streaming jobs. It is determined whether the virtual computer cluster is to process second messages of a non-streaming job. In response to determining that the virtual computer cluster is to process the second messages of the non-streaming job, for example using control messages, the cloud computing service is caused to start a non-streaming node in the virtual computer cluster. The non-streaming node is tasked to process the second messages of the non-streaming job.