Container Resource Scheduling Without Migration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In containerized systems, resources are often misallocated, leading to waste as some virtual machines (VMs) have excess resources while others are over-committed, resulting in inefficient use of datacenter resources.

Innovation Solution

A method for scheduling computing resources in a container cloud that determines resource availability and usage across hosts and VMs, calculates a target resource configuration, and dynamically adjusts resource allocation by adding or removing resources from VMs to achieve optimal utilization, ensuring each VM has the necessary resources without migration of containers.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If resources are statically allocated to VMs without dynamic adjustment, then VM configuration stability is maintained, but resource utilization efficiency deteriorates due to mismatch between allocated and actual needed resources

Engineering Contradiction:
Improveresource utilization efficiencyVSAvoidresource allocation complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent implements dynamic resource allocation by continuously monitoring container resource usage and automatically adjusting VM resource configurations. The system calculates target resource configurations based on actual container demands and applies changes without migration, transforming static resource allocation into a dynamic adaptive process that optimizes utilization efficiency.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system establishes a feedback loop where resource usage metrics from containers are continuously collected, analyzed, and used to trigger resource allocation adjustments. When resource usage thresholds are exceeded or underutilized, the system automatically initiates resource reallocation, creating a closed-loop control mechanism that maintains optimal resource utilization.

Inventive Principle:
Principle #23Feedback

2Productivity

If container migration is used to balance resource allocation, then resource distribution improves, but system complexity and downtime increase

Engineering Contradiction:
Improveresource distribution efficiencyVSAvoidcontainer migration downtime
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent extracts the resource adjustment operation from the container migration process. Instead of migrating containers to balance resources, the system directly adjusts VM resource configurations in place, separating the resource allocation function from container movement and eliminating migration-related downtime.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

The system introduces a resource management intermediary layer that sits between containers and physical resources. This intermediary dynamically adjusts VM resource configurations based on container demands, acting as a mediator that balances resource allocation without requiring container migration or direct intervention in container operations.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Reliability

If VM resource allocation is increased to ensure sufficient resources, then resource availability improves, but resource waste increases due to over-provisioning

Engineering Contradiction:
Improveresource availabilityVSAvoidresource waste
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system dynamically changes resource allocation parameters based on actual container usage patterns. By monitoring resource consumption metrics and adjusting VM configurations in real-time, the system adapts resource parameters to match actual demands, ensuring availability when needed while preventing waste during low-utilization periods.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent transforms static over-provisioning into dynamic resource allocation. Instead of allocating maximum resources to all VMs upfront, the system continuously adjusts resource allocation based on actual container demands, maintaining reliability through adaptive provisioning while eliminating the energy waste associated with persistent over-provisioning.

Inventive Principle:
Principle #15Dynamics

4Productivity

If resource defragmentation is performed frequently to optimize allocation, then resource utilization improves, but system stability deteriorates due to repeated configuration changes

Engineering Contradiction:
Improveresource utilizationVSAvoidVM configuration stability
Core Design Contradiction:
ProductivityVSStability of the object's composition

Solution Approach 1:

The system implements periodic resource defragmentation with carefully controlled intervals and thresholds. By triggering resource reallocation only when utilization metrics exceed predefined thresholds and scheduling changes during optimal windows, the system maintains resource utilization efficiency while minimizing the frequency and impact of configuration changes on system stability.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS10353739B2Virtual resource scheduling for containers without migration
Publication Date: 2019.07.16 VMWARE INC
  • US10353739B2 patent drawing
  • US10353739B2 patent drawing
  • US10353739B2 patent drawing

AI summary

A method for scheduling computing resources without container migration includes determining a resource availability for one or more hosts, a resource allocation for one or more virtual machines (VMs), and a resource usage for one or more containers. The method further includes calculating a target resource configuration for one or more VMs, wherein calculating a target resource configuration comprises determining an upper limit of resource demand on a VM from one or more containers allocated on the VM, based at least in part on the resource usage. The method also includes removing or adding resources to each of the one or more VMs for which a target resource configuration was calculated to achieve the target resource configuration for each VM. The method further includes allocating the one or more VMs on the one or more hosts based on the resource availability of the one or more hosts.