Auto-scaling Virtual Machine Pools via Platform-as-a-Service Rules

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional methods for performing large-scale computational jobs require active user management of resources and tight coupling between job, resources, and scheduling, inhibiting efficient scaling and migration, and lack effective mechanisms for automatic resource scaling in distributed computing environments.

Innovation Solution

A platform-as-a-service system that includes task machines, task location service machines, and high-level location service machines to determine and allocate virtual machines based on auto-scaling rules, allowing for dynamic resource allocation and decoupling of jobs and resources for efficient scaling and load balancing.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If active user management of resources and queues is implemented, then user control over job execution is improved, but system automation and efficiency are worsened

Engineering Contradiction:
Improveuser controlVSAvoidautomatic scaling
Core Design Contradiction:
Ease of operationVSExtent of automation

Solution Approach 1:

The system implements self-service through auto-scaling rules that automatically adjust resource pool sizes based on workload conditions without requiring user intervention. The platform monitors queue depths and computational demands, then dynamically provisions or deprovisions virtual machines according to predefined policies, enabling the system to manage itself while maintaining user-defined parameters.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system segments control into two layers: users define high-level policies and parameters (what scaling should achieve), while the system handles low-level execution (how scaling is implemented). This separation allows users to maintain operational control over job execution while the automated system manages resource provisioning, resolving the contradiction between user control and automation.

Inventive Principle:
Principle #1Segmentation

2Reliability

If tight coupling between job, resources, and scheduling is maintained, then job execution control is improved, but resource migration and load balancing are worsened

Engineering Contradiction:
Improvejob execution controlVSAvoidresource migration
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The system extracts the scheduling function from the job-resource coupling, allowing jobs to be scheduled independently on the resource pool. By separating job submission from resource allocation, the system maintains reliable job execution control through the scheduler while enabling flexible resource migration and load balancing across the pool without affecting job integrity.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The scheduler acts as an intermediary layer between jobs and resources. It receives job submissions, determines appropriate resource allocation based on pool capacity and job requirements, and manages execution. This intermediary enables both reliable job control (through centralized scheduling) and flexible resource migration (through decoupled resource management).

Inventive Principle:
Principle #24Intermediary (Mediator)

3Measurement precision

If manual resource allocation is used, then precise resource control is improved, but scaling efficiency and response time are worsened

Engineering Contradiction:
Improveresource controlVSAvoidscaling efficiency
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The system implements dynamic resource allocation where the resource pool size automatically adjusts based on real-time workload conditions. Predefined scaling rules monitor queue depths, computational demands, and resource utilization metrics, then dynamically provision or deprovision virtual machines. This maintains precise control through policy-based management while achieving rapid scaling efficiency through automation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system incorporates feedback loops that continuously monitor resource utilization, queue depths, and job completion rates. This feedback informs the auto-scaling decisions, allowing the system to maintain precise resource control by adjusting allocation based on actual performance metrics while improving scaling efficiency through automated response to changing conditions.

Inventive Principle:
Principle #23Feedback

4Stability of the object's composition

If resource pools are statically configured, then system stability is improved, but ability to handle peak demands is worsened

Engineering Contradiction:
Improvesystem stabilityVSAvoidpeak demand handling
Core Design Contradiction:
Stability of the object's compositionVSAdaptability or versatility

Solution Approach 1:

The system transitions from static to dynamic resource pool configuration through auto-scaling. Predefined rules establish stable baseline resource levels while enabling automatic adjustment during peak demands. The system maintains stability through policy-based control that prevents erratic changes, while simultaneously improving adaptability to handle variable workloads by provisioning additional resources when needed.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the parameter of resource pool size dynamically based on workload conditions. Predefined scaling rules monitor system state and adjust the number of virtual machines in the pool accordingly. This maintains system stability through controlled parameter changes while enabling the system to adapt to peak demands by increasing resource capacity when required.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9372735B2Auto-scaling of pool of virtual machines based on auto-scaling rules of user associated with the pool
Publication Date: 2016.06.21 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9372735B2 patent drawing
  • US9372735B2 patent drawing
  • US9372735B2 patent drawing

AI summary

In various embodiments, systems and methods are presented for providing resources by way of a platform as a service in a distributed computing environment to perform a job. The system may be comprised of a number of components, such as a task machine, a task location service machine, and a high-level location service machines that in combination are useable to accomplish functions provided herein. It is contemplated that the system performs methods for providing resources by determining resources of the system, such as virtual machines, and applying auto-scaling rules to the system to scale those resources. Based on the determination of the auto-scaling rules, the resources may be allocated to achieve a desired result.