Bootable VM Image Generation from Container Definitions

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing methods for transforming container images into bootable virtual hard disks for virtual machines (VMs) rely on initial bootable VM images, limiting flexibility and efficiency in deploying container-based workloads on cloud platforms.

Innovation Solution

A method that creates a bootable VM image by arranging a chain of container definitions, including a base image, filesystem, essential packages, and networking configuration, within a single partition of an output VM disk file, enabling the transformation of container images into bootable VMs for deployment on existing cloud platforms.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If existing methods use initial bootable VM images as base for transformation, then the transformation process is standardized, but deployment flexibility and efficiency are limited

Engineering Contradiction:
Improvedeployment flexibilityVSAvoidtransformation process complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

Instead of transforming container images into VM images by applying transformations to existing base VM images, this patent inverts the approach by directly creating bootable VM images from container image definitions. The controller machine processes container image definitions (including base image, filesystem, essential packages, and networking configuration) and generates a bootable VM image file, eliminating the need for intermediate base VM images and transformation steps.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent extracts only the essential components needed for VM booting from container image definitions, specifically identifying and incorporating protected packages (kernel, bootloader, initscripts) that are essential for VM operation but optional for containers. This extraction approach creates a streamlined bootable image without requiring complete container runtime environments.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If container images are converted to bootable VMs using traditional methods, then security and isolation are maintained, but resource utilization and deployment efficiency decrease

Engineering Contradiction:
Improvedeployment efficiencyVSAvoidsecurity and isolation
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent performs preliminary organization of container image definitions into a structured format before VM image creation. The controller machine arranges container image definitions in a specific sequence (base image, filesystem, essential packages, networking configuration) and processes them systematically. This preliminary structuring enables efficient direct conversion to bootable VM images while maintaining security through preserved isolation boundaries.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS10642624B2System and method to transform an image of a container to an equivalent, bootable virtual machine image
Publication Date: 2020.05.05 NUTANIX INC
  • US10642624B2 patent drawing
  • US10642624B2 patent drawing
  • US10642624B2 patent drawing

AI summary

A system and method include creating a bootable virtual machine (VM) image for a container image. The method includes a controller machine creating a single partition within an output VM disk file where the single partition comprises a master boot record and a partition table, forming a valid file system in a main partition of the output VM disk file, arranging an input set of container image definitions as a list where a base image forms a head of the list and subsequent images follow in the list, sequentially processing the list for each image by adding the input set of container image definitions to the output VM file; and applying a final networking configuration over the output VM file.