Virtual Machine Demand Prediction with Partial Provisioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing virtual machine provisioning systems face challenges in rapidly providing fully configured VMs to customers, as they often require significant time to create and configure from scratch, leading to increased spin-up times and potential under- or over-estimation of VM demand.

Innovation Solution

A method and system that utilize a prediction algorithm, such as an ARIMA or ANN model, to forecast VM demand, maintaining a pool of partially provisioned VMs that can be quickly adapted to user-specific settings without rebooting, using generic artifacts and placeholders for initial configuration, and then fully configuring them upon request.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If virtual machines are created and configured from scratch upon customer request, then configuration accuracy and customization are improved, but provisioning time increases significantly

Engineering Contradiction:
Improveconfiguration accuracyVSAvoidprovisioning time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The system performs preliminary configuration actions by creating virtual machines with generic artifacts and placeholder configurations before customer requests are processed. VMs are pre-booted and prepared in a partially configured state, allowing rapid customization upon request without full reconfiguration, thus reducing provisioning time while maintaining configuration accuracy through subsequent customization steps.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The configuration process is segmented into distinct phases: initial generic configuration (performed in advance), and customer-specific customization (performed upon request). This segmentation allows the system to separate time-consuming generic setup from rapid customization, improving both provisioning speed and configuration precision through staged processing.

Inventive Principle:
Principle #1Segmentation

2Reliability

If prediction algorithms weigh under-prediction as more costly, then VM availability is improved, but resource over-provisioning costs increase

Engineering Contradiction:
ImproveVM availabilityVSAvoidresource allocation
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The prediction algorithm dynamically adjusts the cost-weighting parameter for under-prediction versus over-prediction scenarios. By changing this parameter, the system optimizes the balance between maintaining high VM availability and preventing resource over-provisioning, allowing flexible adaptation to different operational priorities and market conditions.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The system implements feedback mechanisms that monitor actual VM demand versus predicted demand, using this information to continuously refine prediction accuracy and adjust provisioning strategies. This feedback loop enables the system to learn from past performance and optimize the trade-off between availability and resource efficiency over time.

Inventive Principle:
Principle #23Feedback

Data Source

PatentEP3762822B1Prediction of virtual machine demand
Publication Date: 2022.07.13 MICROSOFT TECHNOLOGY LICENSING LLC
  • EP3762822B1 patent drawingFigure 1
  • EP3762822B1 patent drawingFigure 2
  • EP3762822B1 patent drawingFigure 3

AI summary

For each selected category of virtual machine, a cardinality of virtual machines of the category that are requested is recorded over time. For each category of virtual machine, a prediction algorithm is used to predict a cardinality of virtual machines for the selected category to be requested in the future, such that the prediction algorithm weighs under-prediction of the cardinality of virtual machines as costlier than over-prediction. For each category of virtual machine, a cardinality of virtual machines of the category of virtual machines are composed and booted with generic virtual machine artifacts such that the cardinality of virtual machines of the selected categories is the predicted cardinality of requested virtual machines for the selected category. The booted virtual machines are caused to enter a state in which the booted virtual machines are polling for a configuration with user-specific compute settings and user-specific networking settings.