Sandbox Service Virtual Machine Provisioning

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional sandbox services for cloud-based platforms incur significant costs and downtime due to the time-consuming process of creating safe environments for developers to test updates, leading to frustrating wait times and inefficient resource allocation.

Innovation Solution

Implementing a smart, tiered approach to provisioning virtual machines using historical data to predict demand, pre-configuring template images, and managing virtual machines in different states (reserved, stopped, and running) to instantly provide test environments while minimizing costs.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If virtual machines are created from scratch when a developer requests a sandbox environment, then the test environment can be safely isolated, but the provisioning time becomes excessively long (up to an hour) and costs increase

Engineering Contradiction:
Improvesandbox isolation safetyVSAvoidprovisioning time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent pre-creates virtual machines in advance before developers need them. The system provisions multiple virtual machines ahead of time, stores them in a pool, and makes them immediately available when developers request sandbox environments. This eliminates the hour-long wait time while maintaining the same isolation safety through proper template image configuration.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If virtual machines are pre-configured with template images in advance, then provisioning speed increases, but storage costs increase due to maintaining multiple pre-configured images

Engineering Contradiction:
Improveprovisioning speedVSAvoidstorage cost
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent creates template images that can be rapidly copied to generate multiple virtual machines. Instead of storing numerous unique pre-configured images, the system maintains a small set of template images that serve as blueprints. When virtual machines are needed, the system copies these templates and quickly provisions instances from them, significantly reducing storage requirements while maintaining fast provisioning speeds.

Inventive Principle:
Principle #26Copying

3Loss of time

If a large number of virtual machines are kept in running state to satisfy peak demand, then developer wait time is minimized, but compute costs increase significantly

Engineering Contradiction:
Improvedeveloper wait timeVSAvoidcompute cost
Core Design Contradiction:
Loss of timeVSUse of energy by moving object

Solution Approach 1:

The patent implements dynamic resource allocation where the number of running virtual machines adjusts based on actual demand. The system monitors sandbox usage patterns and dynamically provisions or deprovisions virtual machines from the pool. When demand is high, more machines are activated; when demand is low, machines are deactivated to save compute costs. This dynamic approach eliminates the need to maintain a large static fleet of running machines while still satisfying peak demand.

Inventive Principle:
Principle #15Dynamics

4Loss of energy

If virtual machines are created on-demand without preconfiguration, then storage resources are conserved, but the configuration process consumes excessive compute resources and time

Engineering Contradiction:
Improvestorage resource usageVSAvoidcompute resource consumption
Core Design Contradiction:
Loss of energyVSPower

Solution Approach 1:

The patent performs configuration work in advance by creating template images with all necessary software, dependencies, and sandbox configurations pre-installed. This preliminary configuration step is done during off-peak times when resource availability is higher. Once the template is created, subsequent virtual machines are rapidly deployed by copying the template rather than performing full configuration from scratch, dramatically reducing both storage requirements and compute resource consumption during active provisioning.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS11256607B1Adaptive resource management for instantly provisioning test environments via a sandbox service
Publication Date: 2022.02.22 MICROSOFT TECHNOLOGY LICENSING LLC
  • US11256607B1 patent drawing
  • US11256607B1 patent drawing
  • US11256607B1 patent drawing

AI summary

Disclosed herein is a system for providing a test environment, composed of one or more virtual machines, to a developer instantly in response to a checkout request from the developer. To do this, a sandbox service implements a smart, tiered approach to creating and provisioning virtual machines that compose the test environments. The approach is flexible and elastic in nature, so that the developers do not have to wait an extended period of time for a test environment, yet the costs associated with configuring the virtual machines (e.g., storage and compute costs) are minimized. For example, the sandbox service can use historical data to predict a number of checkout requests expected for a first time interval (e.g., one day), a second time interval (e.g., thirty minutes), and a third time interval (e.g., five minutes). The sandbox service can then configure virtual machines into different states based on the predicted numbers.