Container Runtime Updates via Standby Virtual Machines

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Container runtime updates often cause downtime as they require stopping the container, which disrupts ongoing operations and services.

Innovation Solution

The method involves using standby virtual machines with an updated container runtime, sharing the same root filesystem and data volumes, to seamlessly replace the existing container, updating networking configurations to redirect communications, and then retiring the old container and virtual machine.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If container runtime is updated by stopping the container, then the runtime can be updated to provide fixes and additional features, but downtime occurs and container execution is interrupted

Engineering Contradiction:
Improvecontainer runtime functionalityVSAvoidcontainer execution downtime
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

A second virtual machine is prepared in advance with the updated container runtime installed before the update is actually needed. This standby VM is configured with the new runtime version and ready to immediately take over, eliminating the need to stop the container for updates.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The second virtual machine acts as an intermediary during the transition. It temporarily assumes the container execution role while the first VM is still running, then seamlessly takes over traffic through networking configuration updates, allowing the old VM to be gracefully decommissioned without interrupting service.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Loss of time

If a standby virtual machine is created with updated runtime, then continuous operation is maintained during updates, but device complexity increases

Engineering Contradiction:
Improvecontainer execution downtimeVSAvoidvirtual machine management
Core Design Contradiction:
Loss of timeVSDevice complexity

Solution Approach 1:

The second virtual machine is designed to be a universal replacement that can assume the exact same function as the first VM. It uses the same root filesystem and data volumes, and can be configured with the same networking settings, making it a multi-functional system that serves both as a standby and an active container host.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The system temporarily maintains two virtual machines during the transition period, but then discards the first VM once the second VM is confirmed to be working correctly. The resources previously used by the first VM are recovered and can be reallocated, so the net complexity increase is temporary and minimal.

Inventive Principle:
Principle #34Discarding and recovering

Data Source

PatentUS20220229651A1Updating container runtime using standby virtual machines
Publication Date: 2022.07.21 VMWARE INC
  • US20220229651A1 patent drawing
  • US20220229651A1 patent drawing
  • US20220229651A1 patent drawing

AI summary

Described herein are systems, methods, and software to manage the updates for a container runtime. In one example, a host identifies a request to update a container runtime from a first version to a second version for a container executing in a virtual machine. The host further initiates execution of a second container in a second virtual machine with the second version of the container runtime, wherein the second container uses the same root filesystem as the first container. The host also updates any required networking configurations to direct communications to the second container over the first container and stops execution of the first container.