# US 12,120,174 B1 · Resource allocation management in distributed systems

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

- Number: US 12,120,174 B1
- Document ID: US12120174B1
- Status: Granted
- Kind: B1
- Application number: 18/359,501
- Filed: 2023-07-26
- Granted: 2024-10-15
- Earliest claimed: 2023-07-26
- Assignees: Dell Products L.P.
- Applicants: Dell Products L.P.
- Inventors: Boris Shpilyuck; Maxim Balin; Igor Dubrovsky; Nisan Haimov
- Web page: https://patentgrep.com/patent/US12120174B1

## CPC

- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 47/821: {Prioritising resource allocation or reservation requests}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods and systems for managing pods and containers that provide computer implemented services are disclosed. The pods and containers may be managed to improve efficiency of resource use and reduce exposure to threats to operation of systems that host the pods and containers. To ascertain how to manage the pods and containers, the pods and containers may be monitored and analyzed. The results of the monitoring and analyzation may be used to select how to change the pods and containers over time.

## Claims

### Claim 1

A method for managing resources of a distributed system, the method comprising:
analyzing workload levels of data processing systems of the distributed system that are carrying out one or more roles in the distributed system to populate a candidate role list, the candidate role list specifies all of the roles being carried out by the data processing systems and a resource state of each of the roles;
obtaining data transactions performed by the data processing systems;
classifying the data transactions for different goals of the distributed system to obtain goal classified data transactions;
ranking the roles carried out by the data processing systems based on the goal classified data transactions to obtain a ranking for each of the roles by at least:
obtaining weights for the goals of the distributed system;
obtaining, for each role, a weighted sum using the weights and a portion of the goal classified data transactions performed by the role; and
rank ordering each of the roles using the weighted sums for each role of the roles;
obtaining role resource assignments for the data processing systems using the candidate role list and the ranking for each of the roles by at least:
identifying a first portion of roles that are both members of the candidate role list and are classified above a threshold level in the rank ordering; and
increasing a first allocation of the data processing systems for the first portion of the roles in the role resource assignment;
assigning the data processing systems to perform the roles based on the role resource assignments to obtain an updated distributed system; and
providing the computer implemented services using the updated distributed system.

### Claim 2 (depends on 1)

The method of claim 1, wherein the candidate role list includes information regarding candidate devices for decommissioning, the candidate devices being one or more of the data processing systems in the distributed system.

### Claim 3 (depends on 1)

The method of claim 1, wherein classifying the data transactions comprises:
for each data transaction of the data transactions, identifying at least one goal of the distributed system that used data supplied, at least in part, by the data transactions and classifying the data transactions for the at least one goal to obtain the goal classified data transactions.

### Claim 4 (depends on 1)

The method of claim 1, wherein obtaining the role resource assignments further comprises:
identifying a second portion of roles that are neither members of the candidate role list nor classified above the threshold level in the rank ordering; and
decreasing a second allocation of the data processing systems for the second portion of the roles.

### Claim 5 (depends on 1)

The method of claim 1, wherein assigning the data processing systems to perform the roles based on the role resource assignments comprises deallocating at least one data processing system of the data processing systems from a first role of the roles and allocating the at least one data processing system of the data processing systems to a second role of the roles, and wherein the role resource assignments specify quantities of the data processing system allocated for each of the roles.

### Claim 6 (depends on 1)

The method of claim 1, wherein the candidate role list further includes an entry specifying that a data processing system, among the data processing systems, is a candidate device for temporary deallocation from a current role being carried out by the candidate device.

### Claim 7 (depends on 6)

The method of claim 6, wherein the temporary deallocation lasts until the candidate device is repaired or replaced.

### Claim 8 (depends on 1)

The method of claim 1, wherein the roles are organized in a processing pipeline architecture that indicates a relationship and dependency between each of the roles, the relationship and dependency indicated in the processing pipeline architecture being used to a quantify a level of contribution of each the data processing systems towards the different goals of the distributed system.

### Claim 9

A non-transitory machine-readable medium having instructions stored therein, which when executed by a processor, cause operations for managing resources of a distributed system to be performed, the operations comprising:
analyzing workload levels of data processing systems of the distributed system that are carrying out one or more roles in the distributed system to populate a candidate role list, the candidate role list specifies all of the roles being carried out by the data processing systems and a resource state of each of the roles;
obtaining data transactions performed by the data processing systems;
classifying the data transactions for different goals of the distributed system to obtain goal classified data transactions;
ranking the roles carried out by the data processing systems based on the goal classified data transactions to obtain a ranking for each of the roles by at least:
obtaining weights for the goals of the distributed system;
obtaining, for each role, a weighted sum using the weights and a portion of the goal classified data transactions performed by the role; and
rank ordering each of the roles using the weighted sums for each role of the roles;
obtaining role resource assignments for the data processing systems using the candidate role list and the a ranking for each of the roles by at least:
identifying a first portion of roles that are both members of the candidate role list and are classified above a threshold level in the rank ordering; and
increasing a first allocation of the data processing systems for the first portion of the roles in the role resource assignment;
assigning the data processing systems to perform the roles based on the role resource assignments to obtain an updated distributed system; and
providing computer implemented services using the updated distributed system.

### Claim 10 (depends on 9)

The non-transitory machine-readable medium of claim 9, wherein the data transactions indicate a corresponding data processing system of the data processing systems that performed the data transaction.

### Claim 11 (depends on 9)

The non-transitory machine-readable medium of claim 9, wherein classifying the data transactions comprises:
for each data transaction of the data transactions, identifying at least one goal of the distributed system that used data supplied, at least in part, by the data transactions and classifying the data transactions for the at least one goal.

### Claim 12 (depends on 9)

The non-transitory machine-readable medium of claim 9, wherein obtaining the role resource assignments further comprises:
identifying a second portion of roles that are neither members of the candidate role list nor classified above the threshold level in the rank ordering; and
decreasing a second allocation of the data processing systems for the second portion of the roles.

### Claim 13 (depends on 9)

The non-transitory machine-readable medium of claim 9, wherein assigning the data processing systems to perform the roles based on the role resource assignments comprises deallocating at least one data processing system of the data processing systems from a first role of the roles and allocating the at least one data processing system of the data processing systems to a second role of the roles, and wherein the role resource assignments specify quantities of the data processing system allocated for each of the roles.

### Claim 14 (depends on 9)

The non-transitory machine-readable medium of claim 9, wherein the candidate role list includes information regarding candidate devices for decommissioning, the candidate devices being one or more of the data processing systems in the distributed system.

### Claim 15

A management system, comprising:
a processor; and
a memory coupled to the processor to store instructions, which when executed by the processor, cause operations for managing resources of a distributed system to be performed, the operations comprising:
analyzing workload levels of data processing systems of the distributed system that are carrying out one or more roles in the distributed system to populate a candidate role list, the candidate role list specifies all of the roles being carried out by the data processing systems and a resource state of each of the roles;
obtaining data transactions performed by the data processing systems;
classifying the data transactions for different goals of the distributed system to obtain goal classified data transactions;
ranking the roles carried out by the data processing systems based on the goal classified data transactions to obtain a ranking for each of the roles by at least:
obtaining weights for the goals of the distributed system:
obtaining, for each role, a weighted sum using the weights and a portion of the goal classified data transactions performed by the role; and
rank ordering each of the roles using the weighted sums for each role of the roles;
obtaining role resource assignments for the data processing systems using the candidate role list and the a ranking for each of the roles by at least:
identifying a first portion of roles that are both members of the candidate role list and are classified above a threshold level in the rank ordering; and
increasing a first allocation of the data processing systems for the first portion of the roles in the role resource assignment;
assigning the data processing systems to perform the roles based on the role resource assignments to obtain an updated distributed system; and
providing computer implemented services using the updated distributed system.

### Claim 16 (depends on 15)

The management system of claim 15, wherein the data transactions indicate a corresponding data processing system of the data processing systems that performed the data transaction.

### Claim 17 (depends on 15)

The management system of claim 15, wherein classifying the data transactions comprises:
for each data transaction of the data transactions, identifying at least one goal of the goals of the distributed system that used data supplied, at least in part, by the data transactions and classifying the data transactions for the at least one goal.

### Claim 18 (depends on 15)

The management system of claim 15, wherein obtaining the role resource assignments further comprises:
identifying a second portion of roles that are neither members of the candidate role list nor classified above the threshold level in the rank ordering; and
decreasing a second allocation of the data processing systems for the second portion of the roles.

### Claim 19 (depends on 15)

The management system of claim 15, wherein assigning the data processing systems to perform the roles based on the role resource assignments comprises deallocating at least one data processing system of the data processing systems from a first role of the roles and allocating the at least one data processing system of the data processing systems to a second role of the roles, and wherein the role resource assignments specify quantities of the data processing system allocated for each of the roles.

### Claim 20 (depends on 15)

The management system of claim 15, wherein the candidate role list includes information regarding candidate devices for decommissioning, the candidate devices being one or more of the data processing systems in the distributed system.
