# US 12,217,098 B2 · Deployment of pod cohorts

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

- Number: US 12,217,098 B2
- Document ID: US12217098B2
- Status: Granted
- Kind: B2
- Application number: 18/626,203
- Filed: 2024-04-03
- Published: 2024-12-26
- Granted: 2025-02-04
- Earliest claimed: 2023-06-26
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Ajay Punreddy; Piotr Galecki; Dinesh Kumar Ramasamy; Thuy Phuong Fernandes; Huanglin Xiong
- Web page: https://patentgrep.com/patent/US12217098B2

## CPC

- G06F 9/5072: {Grid computing}
- G06F 8/60: Software deployment
- G06F 8/61: Installation
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5055: {considering software capabilities, i.e. software resources associated or available to the machine}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Techniques are described for orchestrating a cohort deployment in a computing network comprising a plurality of computing nodes implementing a virtualized computing network managed by an orchestrator. The cohort deployment is managed by a deployment broker configured to coordinate the cohort deployment. The cohort deployment includes multiple deployments, where the cohort deployment comprises a parent deployment and a spawned deployment that includes a dependency on the parent deployment.

## Claims

### Claim 1

A method of orchestrating a cohort deployment in a computing network comprising a plurality of computing nodes implementing a virtualized computing network managed by an orchestrator, the method comprising:
receiving a definition indicative of a cohort deployment that requires multiple deployments, wherein the cohort deployment comprises a parent deployment and a spawned deployment that includes a dependency on the parent deployment;
receiving an indication of a resource to be shared by the multiple deployments;
determining a current state of the computing network;
verifying that there are sufficient computing resources available to support the cohort deployment;
allocating external dependencies and resources to individual deployments and workloads of the cohort deployment;
based on the shared resource, the current state of the computing network, and verification that there are sufficient computing resources, generating a set of operations that are deployable in the computing network, wherein the set of operations configure the computing network to deploy the cohort deployment; and
deploying the set of operations in the computing network.

### Claim 2 (depends on 1)

The method of claim 1, wherein the computing resources comprise memory, CPU, or storage.

### Claim 3 (depends on 1)

The method of claim 1, further comprising ensuring that individual deployments of the cohort deployment adhere to a lifecycle parameter of the cohort deployment.

### Claim 4 (depends on 1)

The method of claim 1, further comprising terminating the cohort deployment.

### Claim 5 (depends on 1)

The method of claim 1, further comprising performing a consistency check of the computing network.

### Claim 6 (depends on 1)

The method of claim 1, further comprising receiving a change to the definition indicative of the cohort deployment;
in response to receiving the change to the definition indicative of the cohort deployment, pausing the deployment of the set of operations in the computing network;
based on the change to the definition indicative of the cohort deployment, updating the set of operations to achieve the change to the definition; and
deploying the updated set of operations in the computing network.

### Claim 7 (depends on 1)

The method of claim 1, wherein the generating the set of operations comprises resolving dependencies between the definition and resources in the computing network.

### Claim 8 (depends on 1)

The method of claim 1, wherein the definition comprises a manifest.

### Claim 9 (depends on 6)

The method of claim 6, wherein the change is received after some of the set of operations have been executed.

### Claim 10

A system comprising:
one or more processors; and
a memory in communication with the one or more processors, the memory having computer-readable instructions stored thereupon that, when executed by the one or more processors, cause the system to perform operations comprising:
receiving a definition indicative of a cohort deployment that requires multiple deployments including at least a parent deployment and a spawned deployment that includes a dependency on the parent deployment;
receiving an indication of a resource that is to be shared for the deployments in the cohort deployment;
determining a current state of a computing network where the cohort deployment is to be deployed;
verifying that there are sufficient computing resources available to support the cohort deployment;
allocating external dependencies and resources to individual deployments and workloads of the cohort deployment;
based on the shared resource, a current state of the computing network, and verification that there are sufficient computing resources, generating a set of operations that are deployable in the computing network, wherein the set of operations configure the computing network to deploy the cohort deployment; and
deploying the set of operations in the computing network.

### Claim 11 (depends on 10)

The system of claim 10, further comprising computer-readable instructions that, when executed by the one or more processors, cause the system to perform operations comprising:
ensuring that individual deployments of the cohort deployment adhere to a lifecycle parameter of the cohort deployment.

### Claim 12 (depends on 10)

The system of claim 10, further comprising computer-readable instructions stored thereupon that, when executed by the one or more processors, cause the system to perform operations comprising terminating the cohort deployment.

### Claim 13 (depends on 10)

The system of claim 10, further comprising computer-readable instructions stored thereupon that, when executed by the one or more processors, cause the system to perform operations comprising:
receiving a change to the definition indicative of the cohort deployment;
in response to receiving the change to the definition indicative of the cohort deployment, pausing the deployment of the set of operations in the computing network;
based on the change to the definition indicative of the cohort deployment, updating the set of operations to achieve the change to the definition; and
deploying the updated set of operations in the computing network.

### Claim 14 (depends on 10)

The system of claim 10, wherein the generating the set of operations comprises resolving dependencies between the definition and resources in the computing network.

### Claim 15 (depends on 10)

The system of claim 10, wherein the definition comprises a manifest.

### Claim 16 (depends on 13)

The system of claim 13, wherein the change is received after some of the set of operations have been executed.

### Claim 17 (depends on 16)

The system of claim 16, further comprising computer-readable instructions stored thereupon that, when executed by the one or more processors, cause the system to perform operations comprising performing a consistency check of the computing network.

### Claim 18

A computer-readable storage medium having computer-executable instructions stored thereupon which, when executed by one or more processors of a system, cause the system to perform operations comprising:
receiving a definition indicative of a cohort deployment comprising a parent deployment and a spawned deployment that includes a dependency on the parent deployment;
receiving an indication of a resource that is to be shared for the parent deployment and spawned deployment;
determining a current state of a computing network where the cohort deployment is to be deployed;
verifying that there are sufficient computing resources available to support the cohort deployment;
allocating external dependencies and resources to individual deployments and workloads of the cohort deployment;
based on the shared resource, a current state of the computing network, and verification that there are sufficient computing resources, generating a set of operations that are deployable in the computing network, wherein the set of operations configure the computing network to deploy the cohort deployment; and
deploying the set of operations in the computing network.

### Claim 19 (depends on 18)

The computer-readable storage medium of claim 18, further comprising computer-readable instructions that, when executed by the one or more processors, cause the system to perform operations comprising:
ensuring that individual deployments of the cohort deployment adhere to a lifecycle parameter of the cohort deployment.

### Claim 20 (depends on 18)

The computer-readable storage medium of claim 18, further comprising computer-readable instructions that, when executed by the one or more processors, cause the system to perform operations comprising:
receiving a change to the definition indicative of the cohort deployment;
in response to receiving the change to the definition indicative of the cohort deployment, pausing the deployment of the set of operations in the computing network;
based on the change to the definition indicative of the cohort deployment, updating the set of operations to achieve the change to the definition; and
deploying the updated set of operations in the computing network.
