# US 12,010,169 B2 · Dynamic management of locations of modules of a platform hosted by a distributed system

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

- Number: US 12,010,169 B2
- Document ID: US12010169B2
- Status: Granted
- Kind: B2
- Application number: 18/062,614
- Filed: 2022-12-07
- Published: 2023-03-30
- Granted: 2024-06-11
- Earliest claimed: 2021-01-08
- Assignees: Capital One Services, LLC
- Applicants: Capital One Services, LLC
- Inventors: Christian Bartram; Connor Cason; Noriaki Tatsumi
- Web page: https://patentgrep.com/patent/US12010169B2

## CPC

- H04L 67/1029: using data related to the state of servers by a load balancer
- G06F 11/3006: {where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50)}
- G06F 11/3433: {for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029)}
- G06F 11/3447: {Performance evaluation by modeling}
- G06F 11/349: {for interfaces, buses}
- H04L 67/1008: based on parameters of servers, e.g. available memory or workload (monitoring of computer activity G06F11/30)
- H04L 67/1012: based on compliance of requirements or conditions with available server resources
- H04L 67/1031: Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In some implementations, a system may monitor session data associated with a first module and a second module of a platform. The system may determine a rate of communication between the first module and the second module based on the session data. The system may determine, using an optimization model, a co-location score associated with the first module and the second module based on the rate of communication, wherein the co-location score indicates an impact of co-location of the first module and the second module. The system may determine that the co-location score satisfies a co-location score threshold associated with an improvement to an operation of the platform. The system may perform an action associated with co-locating the first module and the second module.

## Claims

### Claim 1

A method comprising:
monitoring, by a device, communications data related to operation of a platform that involves coordination between a first module and a second module associated with the platform,
wherein the first module is hosted on a first server associated with a first server rack and the second module is hosted on a second server associated with a second server rack;
identifying, by the device and from the communications data, a first address of the first module and a second address of the second module;
determining, by the device, using an optimization model, and based on a rate of communication between the first module and the second module, a score,
wherein the score indicates a probability that the first module and the second module are used to coordinate to perform a single operation;
verifying, by the device, that a server rack physically located nearer to the second server rack than the first server rack is capable of hosting the first module without interruption to a service; and
performing, by the device and based on the score, an action associated with relocating the first module to the server rack.

### Claim 2 (depends on 1)

The method of claim 1, wherein the score further indicates information associated with an impact of co-location of the first module and the second module.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
selecting, based on determining a first utilization associated with the first server rack and a second utilization associated with the second server rack, the first module for relocation.

### Claim 4 (depends on 1)

The method of claim 1, wherein the score is determined based on at least one of:
a first utilization associated with the first server rack satisfying a first utilization threshold, or
a second utilization associated with the second server rack satisfying a second utilization threshold.

### Claim 5 (depends on 1)

The method of claim 1, wherein monitoring the communications data comprises monitoring a first utilization, associated with the first server rack, relative to a first utilization threshold, and a second utilization, associated with the second server rack, relative to a second utilization threshold.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
determining, during a time period, a quantity of a subset of the communications data that is associated with the first address and the second address,
wherein the rate of communication is based on the quantity of the subset and the time period.

### Claim 7 (depends on 6)

The method of claim 6, wherein the quantity of the subset is associated with a sliding window.

### Claim 8

A device, comprising:
one or more memories; and
one or more processors, coupled to the one or more memories, configured to:
monitor communications data related to operation of a platform that involves coordination between a first module and a second module associated with the platform,
wherein the first module is hosted on a first server associated with a first server rack and the second module is hosted on a second server associated with a second server rack;
identify, from the communications data, a first address of the first module and a second address of the second module;
determine, using an optimization model, and based on a rate of communication between the first module and the second module, a score,
wherein the score indicates a probability that the first module and the second module are used to coordinate to perform a single operation;
verify, based on testing, that a server rack physically located nearer to the second server rack than the first server rack is capable of hosting the first module; and
perform, based on the score, an action associated with relocating the first module to the server rack.

### Claim 9 (depends on 8)

The device of claim 8, wherein the score further indicates information associated with an impact of co-location of the first module and the second module.

### Claim 10 (depends on 8)

The device of claim 8, wherein the one or more processors are further configured to:
select, based on determining a first utilization associated with the first server rack and a second utilization associated with the second server rack, the first module for relocation.

### Claim 11 (depends on 8)

The device of claim 8, wherein the score is determined based on at least one of:
a first utilization associated with the first server rack satisfying a first utilization threshold, or
a second utilization associated with the second server rack satisfying a second utilization threshold.

### Claim 12 (depends on 8)

The device of claim 8, wherein the one or more processors, to monitor the communications data, are configured to:
monitor a first utilization, associated with the first server rack, relative to a first utilization threshold, and a second utilization, associated with the second server rack, relative to a second utilization threshold.

### Claim 13 (depends on 8)

The device of claim 8, wherein the one or more processors are further configured to:
determine, during a time period, a quantity of a subset of the communications data that is associated with the first address and the second address,
wherein the rate of communication is based on the quantity of the subset and the time period.

### Claim 14 (depends on 13)

The device of claim 13, wherein the quantity of the subset is associated with a sliding window.

### Claim 15

A non-transitory computer-readable medium storing a set of instructions, the set of instructions comprising:
one or more instructions that, when executed by one or more processors of a device, cause the device to:
monitor communications data related to operation of a platform that involves coordination between a first module and a second module associated with the platform,
wherein the first module is hosted on a first server associated with a first server rack and the second module is hosted on a second server associated with a second server rack;
identify, from the communications data, a first address of the first module and a second address of the second module;
determine, using an optimization model, and based on a rate of communication between the first module and the second module, a score,
wherein the score indicates a probability that the first module and the second module are used to coordinate to perform a single operation;
verify that a server rack physically located nearer to the second server rack than the first server rack is capable of hosting the first module without interruption to a service; and
perform, based on the score, an action associated with relocating the first module to the server rack.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the score further indicates information associated with an impact of co-location of the first module and the second module.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions further cause the device to:
select, based on determining a first utilization associated with the first server rack and a second utilization associated with the second server rack, the first module for relocation.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the score is determined based on at least one of:
a first utilization associated with the first server rack satisfying a first utilization threshold, or
a second utilization associated with the second server rack satisfying a second utilization threshold.

### Claim 19 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions, that cause the device to monitor the communications data, cause the device to:
monitor a first utilization, associated with the first server rack, relative to a first utilization threshold, and a second utilization, associated with the second server rack, relative to a second utilization threshold.

### Claim 20 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the one or more instructions further cause the device to:
determine, during a time period, a quantity of a subset of the communications data that is associated with the first address and the second address,
wherein the rate of communication is based on the quantity of the subset and the time period.
