# US 12,602,261 B2 · Container scheduling according to preempting a set of preemptable containers deployed in a cluster

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,602,261 B2
- Document ID: US12602261B2
- Status: Granted
- Kind: B2
- Application number: 17/821,543
- Filed: 2022-08-23
- Published: 2024-02-29
- Granted: 2026-04-14
- Earliest claimed: 2022-08-23
- Assignees: Hewlett Packard Enterprise Development LP
- Applicants: Hewlett Packard Enterprise Development LP
- Inventors: Thavamaniraja Sakthivel; Siva Subramaniam Manicka; Vinnarasu Ganesan
- Web page: https://patentgrep.com/patent/US12602261B2

## CPC

- G06F 9/5077: {Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455)}
- G06F 9/5022: {Mechanisms to release resources}
- G06F 9/5072: {Grid computing}
- G06F 2209/505: Clust
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Examples described herein relate to a scheduling assistance sub-system for deploying a container in a cluster comprising member nodes. The scheduling assistance sub-system receives a container deployment request to deploy the container and forwards it to a container scheduler after determining the resource requirements of the container. In some examples, at the time of receiving the container deployment request, the member nodes collectively host a plurality of already-deployed containers. Responsive to receiving the container deployment request, the scheduling assistance sub-system determines if the container deployment request is assigned a pending status by the container scheduler. Further, the scheduling assistance sub-system may identify a set of preemptable containers on a single member node based on the resource requirements of the container. Furthermore, the scheduling assistance sub-system may preempt the set of preemptable containers on the single member node thereby releasing resources for deployment of the container on the single member node.

## Claims

### Claim 1

A method, comprising:
receiving a container deployment request to deploy a container in a cluster, wherein the container deployment request specifies resource requirements for the container, and wherein the cluster comprises a plurality of member nodes collectively hosting a plurality of already-deployed containers;
responsive to receiving the container deployment request, determining that the container deployment request is assigned a pending status due to a lack of sufficient available resources in any individual member node of the plurality of member nodes to meet the resource requirements for the container;
responsive to determining that the container deployment request is assigned the pending status, identifying a set of preemptable containers, from the plurality of already-deployed containers, on a member node of the plurality of member nodes based on resource allocations of the plurality of already-deployed containers and the resource requirements of the container; and
preempting the set of preemptable containers on the member node.

### Claim 2 (depends on 1)

The method of claim 1, wherein identifying the set of preemptable containers comprises:
identifying a set of candidate containers from the plurality of already-deployed containers, wherein the set of candidate containers comprises containers having at least one active replica hosted in the cluster; and
selecting the set of preemptable containers from the set of candidate containers.

### Claim 3 (depends on 2)

The method of claim 2, wherein selecting the set of preemptable containers comprises selecting a first member node of the cluster as a candidate member node.

### Claim 4 (depends on 3)

The method of claim 3, wherein selecting the set of preemptable containers further comprises analyzing available free resources on the candidate member node and the plurality of already-deployed containers deployed on the candidate member node.

### Claim 5 (depends on 4)

The method of claim 4, wherein the analyzing comprises:
selecting a first candidate container of the set of candidate containers hosted the candidate member node as a target container;
determining the available free resources on the candidate member node;
determining allocated resources to the target container; and
determining deemed available resources on the candidate member node based on the available free resources and the allocated resources.

### Claim 6 (depends on 5)

The method of claim 5, wherein selecting the set of preemptable containers further comprises selecting the target container as a preemptable container in response to determining that the deemed available resources meet the resource requirements of the container to be deployed.

### Claim 7 (depends on 5)

The method of claim 5, wherein the analyzing further comprises:
selecting a second candidate container of the set of candidate containers hosted the candidate member node as the target container in response to determining that the deemed available resources do not meet the resource requirements of the container to be deployed; and
repeating steps of determining the available free resources, determining the allocated resources, and determining the deemed available resources for the second candidate container as the candidate member node.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
determining that the first member node selected as the candidate member node does not have resources to meet the resource requirements of the container;
selecting a second member node of the cluster as the candidate member node responsive to determining that the first member node does not have available resources to meet the resource requirements of the container; and
repeating steps of analyzing the free available resources and the plurality of already-deployed containers for the second member node selected as the candidate member node.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
temporarily disabling the member node from allocating any resources;
withdrawing resources allocated to the set of preemptable containers; and
moving the set of preemptable containers to a deallocated pending state.

### Claim 10 (depends on 9)

The method of claim 9, further comprising enabling the member node to allocate resources after the set of preemptable containers is moved to the deallocated pending state, wherein the container is deployed on the member node after the enabling.

### Claim 11 (depends on 1)

The method of claim 1, further comprising instructing a container scheduler to deploy the container on the member node.

### Claim 12 (depends on 1)

The method of claim 1, further comprising communicating a feasibility of deployment of the container to a user requesting deployment of the container in less than 3 minutes from receipt of the container deployment request.

### Claim 13

A container management system, comprising:
a machine-readable storage medium storing executable instructions; and
a processing resource coupled to the machine-readable storage medium, wherein the processing resource is configured to execute one or more of the instructions to:
implement a container scheduler to manage container deployment in a cluster comprising a plurality of member nodes, wherein the plurality of member nodes collectively host a plurality of already-deployed containers; and
implement a scheduling assistance sub-system in communication with the container scheduler, wherein the scheduling assistance sub-system is configured to:
receive a container deployment request to deploy a container in the cluster, wherein the container deployment request specifies resource requirements for the container;
responsive to receiving the container deployment request, determine that the container deployment request is assigned a pending status by the container scheduler due to a lack of sufficient available resources in any individual member node of the plurality of member nodes to meet the resource requirements for the container;
responsive to determining that the container deployment request is assigned the pending status, identify a set of preemptable containers, from the plurality of already-deployed containers, on a member node of the plurality of member nodes based on resource allocations of the plurality of already-deployed containers and the resource requirements of the container;
preempt the set of preemptable containers on the member node; and
direct the container scheduler to deploy the container on the member node.

### Claim 14 (depends on 13)

The container management system of claim 13, wherein the container scheduler is configured to:
determine, responsive to receiving the container deployment request, whether each of the plurality of member nodes individually lacks resources to meet the resource requirements of the container; and
assign the pending status to the container deployment request in response to determining that each of the plurality of member nodes individually lacks resources to meet the resource requirements of the container.

### Claim 15 (depends on 13)

The container management system of claim 13, wherein, responsive to determining if the plurality of already-deployed containers comprises a set of preemptable containers, the scheduling assistance sub-system is configured to communicate a feasibility of deployment of the container to a user requesting deployment of the container in less than 3 minutes from receipt of the container deployment request.

### Claim 16 (depends on 13)

The container management system of claim 13, wherein the container scheduler is a Kubernetes scheduler service.

### Claim 17 (depends on 13)

The container management system of claim 13, wherein the scheduling assistance sub-system is configured to communicate with the container scheduler using an application programming interface.

### Claim 18

A scheduling assistance sub-system, comprising:
a machine-readable storage medium storing executable instructions; and
a processing resource coupled to the machine-readable storage medium, wherein the processing resource is configured to execute one or more of the instructions to:
receive a container deployment request to deploy a container in a cluster, wherein the container deployment request specifies resource requirements for the container, and wherein the cluster comprises a plurality of member nodes collectively hosting a plurality of already-deployed containers;
responsive to receiving the container deployment request, determine that the container deployment request is assigned a pending status due to a lack of sufficient available resources in any individual member node of the plurality of member nodes to meet the resource requirements for the container;
responsive to determining that the container deployment request is assigned the pending status, identify a set of preemptable containers, from the plurality of already-deployed containers, on a member node of the plurality of member nodes based on resource allocations of the plurality of already-deployed containers and the resource requirements of the container;
preempt the set of preemptable containers on the member node; and
direct a container scheduler to deploy the container on the member node.

### Claim 19 (depends on 18)

The scheduling assistance sub-system of claim 18, wherein the processing resource is configured to execute one or more of the instructions to:
identify a set of candidate containers from the plurality of already-deployed containers, wherein the set of candidate containers comprises containers having at least one active replica hosted in the cluster; and
select the set of preemptable containers from the set of candidate containers.

### Claim 20 (depends on 18)

The scheduling assistance sub-system of claim 18, wherein the processing resource is configured to execute one or more of the instructions to communicate a feasibility of deployment of the container to a user requesting deployment of the container in less than 3 minutes from receipt of the container deployment request.
