IP Library › Granted Patent US 12,568,137
Granted Patent B2
US 12,568,137 · App. 18/678,548 · Granted Mar 3, 2026

Dynamic management of locations of modules of a platform hosted by a distributed system

Inventors: Christian Bartram (Orlando, FL); Connor Cason (Vienna, VA); Noriaki Tatsumi (Silver Spring, MD)
Assignee: Capital One Services, LLC
H04L67/1029G06F11/3006G06F11/3433H04L67/1008H04L67/1012
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,568,137
App. No.
18/678,548
Granted
Mar 3, 2026
Kind
B2
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 (56)

1 . A method, comprising:

monitoring, by a device, communications data related to an operation that involves coordination between a first module and a second module,

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;

determining, by the device and based on 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 performing 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.

2 . The method of claim 1 , further comprising:

identifying, from the communications data, a first address of the first module and a second address of the second module; and

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 score is based on the quantity of the subset and the time period.

3 . The method of claim 1 , wherein the score is based on a characteristic of the communication between the first module and the second module.

4 . The method of claim 1 , wherein the score is based on a characteristic of the communication between the first module and the second module during a same time period.

5 . The method of claim 1 , further comprising:

determining, based on status data associated with the server rack, whether the first module should be relocated to the server rack.

6 . The method of claim 1 , further comprising:

determining, based on utilization information of the server rack satisfying a threshold, that the server rack is capable of hosting another module.

7 . 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.

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 an operation that involves coordination between a first module and a second module,

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;

determine, based on 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 performing 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.

9 . The device of claim 8 , wherein the one or more processors are further configured to:

identify, from the communications data, a first address of the first module and a second address of the second module; and

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 score is based on the quantity of the subset and the time period.

10 . The device of claim 8 , wherein the score is based on a characteristic of the communication between the first module and the second module.

11 . The device of claim 8 , wherein the score is based on a characteristic of the communication between the first module and the second module during a same time period.

12 . The device of claim 8 , wherein the one or more processors are further configured to:

determine, based on status data associated with the server rack, whether the first module should be relocated to the server rack.

13 . The device of claim 8 , wherein the one or more processors are further configured to:

determine, based on utilization information of the server rack satisfying a threshold, that the server rack is capable of hosting another module.

14 . 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.

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 an operation that involves coordination between a first module and a second module,

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;

determine, based on 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 performing 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.

16 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the device to:

identify, from the communications data, a first address of the first module and a second address of the second module; and

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 score is based on the quantity of the subset and the time period.

17 . The non-transitory computer-readable medium of claim 15 , wherein the score is based on a characteristic of the communication between the first module and the second module.

18 . The non-transitory computer-readable medium of claim 15 , wherein the score is based on a characteristic of the communication between the first module and the second module, during a same time period.

19 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the device to:

determine, based on status data associated with the server rack, whether the first module should be relocated to the server rack.

20 . The non-transitory computer-readable medium of claim 15 , wherein the one or more instructions further cause the device to:

determine, based on utilization information of the server rack satisfying a threshold, that the server rack is capable of hosting another module.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 30, 2024
From: BARTRAM, CHRISTIAN; CASON, CONNOR; TATSUMI, NORIAKI
To: CAPITAL ONE SERVICES, LLC
Reel/Frame 067568/0116 →
Continuity (3)
Continuation 18062614 · Dec 7, 2022
Continuation 17248098 · Jan 8, 2021
Related Publication 20240323253A1 · Sep 26, 2024
References Cited (21)
US 6898564B1 · Odhner et al. · 2005 [cited by applicant]
US 7496667B2 · Adam et al. · 2009 [cited by applicant]
US 7788671B2 · Black-Ziegelbein et al. · 2010 [cited by applicant]
US 7865582B2 · Santos et al. · 2011 [cited by applicant]
US 8140523B2 · Fakhouri et al. · 2012 [cited by applicant]
US 8230438B2 · Kimbrel et al. · 2012 [cited by applicant]
US 8321558B1 · Sirota et al. · 2012 [cited by applicant]
US 8464217B2 · Janczewski · 2013 [cited by applicant]
US 10452418B2 · Joffe · 2019 [cited by applicant]
US 11546422B2 · Bartram et al. · 2023 [cited by applicant]
US 20150134779A1 · Thompson · 2015 [cited by examiner]
US 20150370601A1 · Ghosh et al. · 2015 [cited by applicant]
US 20160188594A1 · Ranganathan · 2016 [cited by applicant]
US 20170052707A1 · Koppolu et al. · 2017 [cited by applicant]
US 20170086325A1 · Connor et al. · 2017 [cited by applicant]
US 20190332443A1 · Kelly · 2019 [cited by applicant]
US 20190384649A1 · Wen et al. · 2019 [cited by applicant]
US 20210042292A1 · Gentric et al. · 2021 [cited by applicant]
US 20220224753A1 · Bartram et al. · 2022 [cited by applicant]
US 20230081889A1 · Shen · 2023 [cited by examiner]
Beloglazov et al., “Optimal Online Deterministic Algorithms and Adaptive Heuristics for Energy and Performance Efficient Dynamic Consolidation of Virtual Machines in Cloud Data Centers,” Concurrency and Computation: Pra… [cited by applicant]