Container Management System for VM Resource Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Customers face challenges in managing and scaling applications running on multiple virtual machine instances, as these applications are not portable and difficult to manage, leading to inefficiencies in resource allocation and increased costs.

Innovation Solution

A system for managing and scheduling software containers, which allows for the creation of clusters of virtual machine instances, registration and deregistration of container instances, and dynamic resource allocation, using container agents and schedulers to optimize resource use and portability.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If applications are run on multiple virtual machine instances, then computing resources can be scaled, but the applications become difficult to manage and are not portable to other computing systems

Engineering Contradiction:
ImproveportabilityVSAvoidmanageability
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent segments applications into container instances that can be independently managed, scheduled, and migrated across virtual machine instances. Each container encapsulates an application and its dependencies, making it a portable unit that can be moved between different VM instances without requiring the entire VM to be migrated, thus improving both portability and manageability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The container instance design provides universality by enabling applications to run consistently across different virtual machine instances and computing systems. The standardized container interface allows the same application package to be deployed universally across the infrastructure, eliminating system-specific dependencies while maintaining ease of management through unified scheduling mechanisms.

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

2Adaptability or versatility

If remote computing services are made configurable and scalable, then computing needs can be met, but it becomes difficult for customers to manage various applications running on multiple virtual machine instances

Engineering Contradiction:
ImprovescalabilityVSAvoidmanagement complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent introduces a scheduler as an intermediary component that manages container instances across multiple virtual machine instances. The scheduler abstracts the complexity of managing applications on multiple VMs by providing a unified interface for customers to deploy and manage applications, while handling the underlying complexity of container scheduling, resource allocation, and instance management automatically.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system implements self-service capabilities where the scheduler automatically manages the deployment, scaling, and migration of container instances based on customer requests and system conditions. This automation reduces management complexity by eliminating manual intervention for routine tasks such as application deployment, load balancing, and resource allocation, allowing customers to focus on high-level application management rather than low-level infrastructure details.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11669362B2System for managing and scheduling containers
Publication Date: 2023.06.06 AMAZON TECH INC
  • US11669362B2 patent drawing
  • US11669362B2 patent drawing
  • US11669362B2 patent drawing

AI summary

A task definition is received. The task definition indicates at least a location from which one or more software image can be obtained and information usable to determine an amount of resources to allocate to one or more software containers for the one or more software image. A set of virtual machine instances in which to launch the one or more software containers is determined, the one or more software image is obtained from the location included in the task definition and is launched as the one or more of software containers within the set of virtual machine instances.