# US 11,909,813 B2 · Techniques for deploying workloads on nodes in a cloud-computing environment

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

- Number: US 11,909,813 B2
- Document ID: US11909813B2
- Status: Granted
- Kind: B2
- Application number: 17/930,608
- Filed: 2022-09-08
- Published: 2023-01-05
- Granted: 2024-02-20
- Earliest claimed: 2021-05-10
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Sanjeev Mehrotra; Paramvir Bahl; Anuj Kalia
- Web page: https://patentgrep.com/patent/US11909813B2

## 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)}
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 9/5072: {Grid computing}
- G06F 11/2038: {with a single idle spare processing component}
- G06F 11/2041: {with more than one idle spare processing component}
- G06F 11/2048: {where the redundant components share neither address space nor persistent storage}
- G06N 20/00: Machine learning
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2209/481: Exception handling
- G06Q 10/0635: Risk analysis of enterprise or organisation activities
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR

## Abstract

Described are examples for deploying workloads in a cloud-computing environment. In an aspect, based on a desired number of workloads of a process to be executed in a cloud-computing environment and based on one or more failure probabilities, an actual number of workloads of the process to execute in the cloud-computing environment to provide a level of service can be determined and deployed. In another aspect, a standby workload can be executed as a second instance of the process without at least a portion of the separate configuration used by the multiple workloads, and based on detecting termination of one of multiple workloads, the standby workload can be configured to execute based on the separate configuration of the separate instance of the process corresponding to the one of the multiple workloads.

## Claims

### Claim 1

A computer-implemented method for deploying workloads on nodes in a cloud-computing environment, comprising:
determining, for a process to be provided in the cloud-computing environment, a desired number of workloads of the process to be executed in the cloud-computing environment, wherein the desired number of workloads are each of a different configuration of the process;
determining a physical location of one or more nodes for deploying one or more workloads based on the desired number of workloads;
determining, based on the desired number of workloads and based on one or more failure probabilities associated with the physical location of the one or more nodes, an actual number of workloads of the process to execute in the cloud-computing environment to provide a level of service, wherein the actual number of workloads includes the desired number of workloads and one or more additional workloads; and
deploying, based on determining the actual number of workloads, the one or more workloads to the one or more nodes of the cloud-computing environment to reach the actual number of workloads of the process executing in the cloud-computing environment, wherein the one or more additional workloads are standby instances of the process agnostic to a configuration.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein determining the actual number of workloads is based on the one or more failure probabilities of failure within a timeslot.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the desired number of workloads and the one or more additional workloads are of a same configuration of the process.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein determining the actual number of workloads is further based on a type of node for executing the process.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein determining the actual number of workloads is further based on an equipment cost of the one or more nodes.

### Claim 6 (depends on 1)

The computer-implemented method of claim 1, wherein determining the actual number of workloads is further based on a latency cost of the one or more nodes.

### Claim 7 (depends on 1)

The computer-implemented method of claim 1, wherein determining the actual number of workloads includes using machine learning to determine the actual number of workloads based on a trained model of actual numbers of workloads to achieve desired numbers of workloads that achieved the level of service.

### Claim 8 (depends on 1)

The computer-implemented method of claim 1, wherein the process corresponds to a remote unit (RU) process, and wherein the desired number of workloads are each for a different configuration of the RU process, and wherein the one or more additional workloads are standby instances of the RU process agnostic to the configuration.

### Claim 9

A device for deploying workloads on nodes in a cloud-computing environment, comprising:
a memory storing one or more parameters or instructions for deploying workloads in the cloud-computing environment; and
at least one processor coupled to the memory, wherein the at least one processor is configured to:
execute multiple workloads in a cloud-computing environment cluster, wherein each workload of the multiple workloads corresponds to a separate instance of a process that is executed according to a separate configuration;
execute a standby workload as a second instance of the process without at least a portion of the separate configuration used by the multiple workloads; and
based on detecting termination of one of the multiple workloads, configure the standby workload to execute based on the separate configuration of the separate instance of the process corresponding to the one of the multiple workloads,
wherein the process corresponds to a remote unit (RU) process in a mobile edge computing environment, and the multiple workloads are each for a different configuration of the RU process, and the standby workload is the second instance of the RU process without at least the portion of the separate configuration.

### Claim 10 (depends on 9)

The device of claim 9, wherein the at least one processor is further configured to, based on configuring the standby workload, execute a second standby workload as the second instance of the process without at least the portion of the separate configuration used by the multiple workloads.

### Claim 11 (depends on 10)

The device of claim 10, wherein the standby workload is the one of the multiple workloads for which termination was detected.

### Claim 12 (depends on 9)

The device of claim 9, wherein the process is a base station process and the separate configuration for each process relates to performing the process for a separate base station.

### Claim 13

A device for deploying workloads on nodes in a cloud-computing environment, comprising:
a memory storing one or more parameters or instructions for deploying workloads in the cloud-computing environment; and
at least one processor coupled to the memory, wherein the at least one processor is configured to:
determine, for a process to be provided in the cloud-computing environment, a desired number of workloads of the process to be executed in the cloud-computing environment, wherein the desired number of workloads are each of a different configuration of the process;
determine a physical location of one or more nodes for deploying one or more workloads based on the desired number of workloads;
determine, based on the desired number of workloads and based on one or more failure probabilities associated with the physical location of the one or more nodes, an actual number of workloads of the process to execute in the cloud-computing environment to provide a level of service, wherein the actual number of workloads includes the desired number of workloads and one or more additional workloads; and
deploy, based on determining the actual number of workloads, the one or more workloads to the one or more nodes of the cloud-computing environment to reach the actual number of workloads of the process executing in the cloud-computing environment, wherein the one or more additional workloads are standby instances of the process agnostic to a configuration.

### Claim 14 (depends on 13)

The device of claim 13, wherein the at least one processor is configured to determine the actual number of workloads based on the one or more failure probabilities of failure within a timeslot.

### Claim 15 (depends on 13)

The device of claim 13, wherein the desired number of workloads and the one or more additional workloads are of a same configuration of the process.

### Claim 16 (depends on 13)

The device of claim 13, wherein the at least one processor is configured to determine the actual number of workloads further based on a type of node for executing the process.

### Claim 17 (depends on 13)

The device of claim 13, wherein the at least one processor is configured to determine the actual number of workloads further based on an equipment cost of the one or more nodes.

### Claim 18 (depends on 13)

The device of claim 13, wherein the at least one processor is configured to determine the actual number of workloads further based on a latency cost of the one or more nodes.

### Claim 19 (depends on 13)

The device of claim 13, wherein the at least one processor is configured to determine the actual number of workloads at least in part by using machine learning to determine the actual number of workloads based on a trained model of actual numbers of workloads to achieve desired numbers of workloads that achieved the level of service.

### Claim 20 (depends on 13)

The device of claim 13, wherein the process corresponds to a remote unit (RU) process, and wherein the desired number of workloads are each for a different configuration of the RU process, and wherein the one or more additional workloads are standby instances of the RU process agnostic to the configuration.
