# US 12,004,013 B2 · Techniques for adaptively allocating resources 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 12,004,013 B2
- Document ID: US12004013B2
- Status: Granted
- Kind: B2
- Application number: 17/323,680
- Filed: 2021-05-18
- Published: 2022-11-24
- Granted: 2024-06-04
- Earliest claimed: 2021-05-18
- Assignees: Microsoft Technology Licensing, LLC
- Applicants: Microsoft Technology Licensing, LLC
- Inventors: Bozidar Radunovic; Sanjeev Mehrotra; Yongguang Zhang; Paramvir Bahl; Xenofon Foukas
- Web page: https://patentgrep.com/patent/US12004013B2

## CPC

- G06F 9/5088: {involving task migration}
- H04W 28/16: Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- G06F 11/324: {Display of status information}
- G06F 11/3428: {Benchmarking}
- G06N 20/00: Machine learning
- H04W 24/02: Arrangements for optimising operational condition
- H04W 24/10: Scheduling measurement reports {; Arrangements for measurement reports}
- H04W 28/0268: {using specific QoS parameters for wireless networks, e.g. QoS class identifier [QCI] or guaranteed bit rate [GBR] (negotiating SLA or negotiating QoS H04W28/24)}
- H04W 72/21: in the uplink direction of a wireless link, i.e. towards the network
- H04W 72/23: in the downlink direction of a wireless link, i.e. towards a terminal
- G06F 2209/5022: Workload threshold
- G06F 2209/508: Monitor
- G06F 2209/509: Offload
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- G06N: COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS

## Abstract

Described are examples for monitoring performance metrics of one or more workloads in a cloud-computing environment and reallocating compute resources based on the monitoring. Reallocating compute resources can include migrating workloads among nodes or other resources in the cloud-computing environment, reallocating hardware accelerator resources, adjusting transmit power for virtual radio access network (vRAN) workloads, and/or the like.

## Claims

### Claim 1

A computer-implemented method for reallocating resources among cores in a cloud-computing environment, comprising:
monitoring, at a first core of a processor in the cloud-computing environment, one or more performance metrics of a virtual radio access network (vRAN) workload that provides wireless network access to one or more user equipment (UEs); and
based on determining that the one or more performance metrics, including a resource utilization of the vRAN workload on the first core, exceeds a threshold, transferring execution of one or more non-vRAN workloads, executing on the first core, to a second core of the processor in the cloud-computing environment,
wherein transferring execution of the one or more non-vRAN workloads to the second core is also based on one of:
determining that the one or more performance metrics, including one or more resource utilizations of one or more other vRAN workloads on one or more other cores, also exceeds the threshold, wherein the second core is a dedicated core for executing non-vRAN workloads; or
determining that the one or more performance metrics, including a second resource utilization of a second vRAN workload on the second core, does not exceed a threshold, wherein the second core can execute vRAN workloads and non-vRAN workloads.

### Claim 2 (depends on 1)

The computer-implemented method of claim 1, wherein comparing the one or more performance metrics includes using machine learning to compare the one or more performance metrics based on a trained model of performance metrics that resulted in transferring workloads.

### Claim 3 (depends on 1)

The computer-implemented method of claim 1, wherein the vRAN workload provides one or more of a centralized unit (CU) function, a distributed unit (DU) function, or a remote unit (RU) function in a mobile edge computing environment.

### Claim 4 (depends on 1)

The computer-implemented method of claim 1, wherein transferring execution of the one or more non-vRAN workloads to the second core is also based on the vRAN workload being of a higher priority for system resource usage than the one or more non-vRAN workloads.

### Claim 5 (depends on 1)

The computer-implemented method of claim 1, wherein the first core and the second core are provided by different physical devices in the cloud-computing environment.

### Claim 6

A device for reallocating resources among cores in a cloud-computing environment, comprising:
a memory storing one or more parameters or instructions for reallocating resources among cores in the cloud-computing environment; and
at least one processor coupled to the memory, wherein the at least one processor is configured to:
monitor, at a first core of the at least one processor in the cloud-computing environment, one or more performance metrics of a virtual radio access network (vRAN) workload that provides wireless network access to one or more user equipment (UEs); and
based on determining that the one or more performance metrics, including a resource utilization of the vRAN workload on the first core, exceeds a threshold, transfer execution of one or more non-vRAN workloads, executing on the first core, to a second core of the at least one processor or another processor in the cloud-computing environment,
wherein the at least one processor is configured to transfer execution of the one or more non-vRAN workloads to the second core also based on one of:
determining that the one or more performance metrics, including one or more resource utilizations of one or more other vRAN workloads on one or more other cores, also exceeds the threshold, wherein the second core is a dedicated core for executing non-vRAN workloads; or
determining that the one or more performance metrics, including a second resource utilization of a second vRAN workload on the second core, does not exceed a threshold, wherein the second core can execute vRAN workloads and non-vRAN workloads.

### Claim 7 (depends on 6)

The device of claim 6, wherein the second core is a dedicated core for executing non-vRAN workloads.

### Claim 8 (depends on 6)

The device of claim 6, wherein the second core can execute vRAN workloads and non-vRAN workloads.

### Claim 9 (depends on 6)

The device of claim 6, wherein the at least one processor is configured to compare the one or more performance metrics by using machine learning to compare the one or more performance metrics based on a trained model of performance metrics that resulted in transferring workloads.

### Claim 10 (depends on 6)

The device of claim 6, wherein the vRAN workload provides one or more of a centralized unit (CU) function, a distributed unit (DU) function, or a remote unit (RU) function in a mobile edge computing environment.

### Claim 11 (depends on 6)

The device of claim 6, wherein the at least one processor is configured to transfer execution of the one or more non-vRAN workloads to the second core also based on the vRAN workload being of a higher priority for system resource usage than the one or more non-vRAN workloads.

### Claim 12 (depends on 6)

The device of claim 6, wherein the first core and the second core are provided by different physical devices in the cloud-computing environment.

### Claim 13

A non-transitory computer-readable medium, comprising code executable by one or more processors for reallocating resources among cores in a cloud-computing environment, the code comprising code for:
monitoring, at a first core of a processor in the cloud-computing environment, one or more performance metrics of a virtual radio access network (vRAN) workload that provides wireless network access to one or more user equipment (UEs); and
based on determining that the one or more performance metrics, including a resource utilization of the vRAN workload on the first core, exceeds a the threshold, transferring execution of one or more non-vRAN workloads, executing on the first core, to a second core of the processor in the cloud-computing environment,
wherein transferring execution of the one or more non-vRAN workloads to the second core is also based on one of:
determining that the one or more performance metrics, including one or more resource utilizations of one or more other vRAN workloads on one or more other cores, also exceeds the threshold, wherein the second core is a dedicated core for executing non-vRAN workloads; or
determining that the one or more performance metrics, including a second resource utilization of a second vRAN workload on the second core, does not exceed a threshold, wherein the second core can execute vRAN workloads and non-vRAN workloads.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the second core is a dedicated core for executing non-vRAN workloads.

### Claim 15 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the second core can execute vRAN workloads and non-vRAN workloads.

### Claim 16 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein comparing the one or more performance metrics includes using machine learning to compare the one or more performance metrics based on a trained model of performance metrics that resulted in transferring workloads.

### Claim 17 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the vRAN workload provides one or more of a centralized unit (CU) function, a distributed unit (DU) function, or a remote unit (RU) function in a mobile edge computing environment.

### Claim 18 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein transferring execution of the one or more non-vRAN workloads to the second core is also based on the vRAN workload being of a higher priority for system resource usage than the one or more non-vRAN workloads.
