Container Scheduling in Virtual Environments

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current container scheduling technologies in virtual environments fail to optimally utilize resources due to limited information, leading to inefficient deployment and management of containers across physical hosts and virtual machines.

Innovation Solution

A two-stage scheduling process involving a container scheduler and a virtual machine scheduler that utilizes resource utilization data from physical hosts and virtual machines to identify optimal deployment candidates, ensuring efficient resource distribution and high availability by excluding replicas.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If container scheduling is performed using limited information about virtual machines, then the scheduling process is simple and fast, but resource utilization is inefficient and suboptimal

Engineering Contradiction:
Improveresource utilizationVSAvoidscheduling process complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The scheduling process is divided into two distinct stages: a container scheduler that handles container-level decisions based on virtual machine information, and a virtual machine scheduler that handles infrastructure-level decisions based on physical host resource utilization. This segmentation allows each scheduler to operate with appropriate information granularity, improving overall resource utilization while maintaining manageable complexity through functional decomposition.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtual machine scheduler acts as an intermediary between the container scheduler and the physical infrastructure. It receives container placement requests from the container scheduler, translates them into infrastructure scheduling decisions based on physical host resource utilization data, and returns optimal virtual machine assignments. This intermediary layer enables efficient resource utilization by introducing additional information about physical hosts without complicating the container scheduling process directly.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If more comprehensive resource utilization data is collected and processed, then scheduling decisions become more optimal, but processing time and computational overhead increase

Engineering Contradiction:
Improvescheduling optimalityVSAvoidscheduling processing time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

By segmenting the scheduling process into two stages with distinct responsibilities, the system processes comprehensive resource utilization data efficiently. The virtual machine scheduler handles the computationally intensive analysis of physical host resource utilization and virtual machine resource requirements, while the container scheduler focuses on container-level placement decisions. This division of labor maintains scheduling optimality while reducing overall processing time through parallelization and specialized processing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtual machine scheduler performs preliminary actions by pre-evaluating physical host resource utilization data and virtual machine resource requirements before final container placement decisions are made. This preliminary processing of infrastructure information allows the container scheduler to make faster, more informed decisions about container placement without needing to perform comprehensive resource analysis at the container level, thereby reducing overall scheduling processing time.

Inventive Principle:
Principle #10Preliminary action

3Reliability

If containers are deployed without considering physical host topology and resource utilization, then deployment is faster and simpler, but high availability is reduced due to potential failures from replica deployment on same host

Engineering Contradiction:
Improvehigh availabilityVSAvoiddeployment process complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The deployment process is segmented into two coordinated stages: the container scheduler handles container placement logic and identifies candidate virtual machines based on application requirements, while the virtual machine scheduler handles infrastructure deployment decisions considering physical host topology and resource utilization. This segmentation enables high availability by ensuring replicas are deployed on different physical hosts through the virtual machine scheduler's awareness of the physical infrastructure, while keeping the container scheduling logic simple and focused on application-level concerns.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The virtual machine scheduler serves as an intermediary that translates container deployment requirements into infrastructure-aware placement decisions. It receives container placement requests, consults physical host topology and resource utilization data, and returns optimized virtual machine assignments that ensure high availability by preventing replica deployment on the same physical host. This intermediary approach maintains high availability without complicating the container scheduling process directly.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS12118386B2Techniques for container scheduling in a virtual environment
Publication Date: 2024.10.15 VMWARE INC
  • US12118386B2 patent drawing
  • US12118386B2 patent drawing
  • US12118386B2 patent drawing

AI summary

The present disclosure relates generally to virtualization, and more particularly to techniques for deploying containers in a virtual environment. The container scheduling can be based on information determined by a virtual machine scheduler. For example, a container scheduler can receive a request to deploy a container. The container scheduler can send container information to the virtual machine scheduler. The virtual machine scheduler can use the container information along with resource utilization of one or more virtual machines to determine an optimal virtual machine for the container. The virtual machine scheduler can send an identification of the optimal virtual machine back to the container scheduler so that the container scheduler can deploy the container on the optimal virtual machine.