IP Library Granted Patent US 11,509,715
Granted Patent B2
US 11,509,715 · App. 17/065,659 · Granted Nov 22, 2022

Proactive replication of software containers using geographic location affinity to predicted clusters in a distributed computing environment

Inventors: Mohammad Rafey (Bangalore, IN); Jagatha Sai Siva Surya Lokesh Prasad (Kakinada, IN)
Assignee: Dell Products L.P.
H04L67/1095G06K9/6215G06K9/6223G06K9/6256G06K9/6272G06N3/0445H04L41/147H04L67/1021
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 11,509,715
App. No.
17/065,659
Granted
Nov 22, 2022
Kind
B2
Abstract

An apparatus comprises a processing device configured to monitor, over time intervals each comprising multiple time slices, client requests to access software container instances hosted by container host devices of a geographically-distributed software container platform, and to generate cluster pattern data comprising geographic clusters for the software container instances in each of the time slices. The processing device is also configured to predict, for a given time slice in a given subsequent time interval, formation of a geographic cluster of client requests for a given software container instance based on the cluster pattern data. The processing device is further configured to calculate network distances from the predicted geographic cluster to each of the container host devices, to select one of the container host devices based on the calculated network distances, and to proactively replicate the given software container instance in the selected container host device.

Claims (54)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured to perform steps of:

monitoring, over two or more time intervals, client requests to access one or more software container instances each hosted by one or more of a plurality of container host devices of a geographically-distributed software container platform, each of the two or more time intervals comprising two or more time slices;

generating cluster pattern data for the one or more software container instances, the cluster pattern data comprising one or more geographic clusters of client requests for at least one of the one or more software container instances in at least one of the two or more time slices;

predicting, for a given one of the two or more time slices in a given time interval subsequent to the two or more time intervals, formation of at least one geographic cluster of client requests for at least one of the one or more software container instances based at least in part on the generated cluster pattern data;

calculating network distances from the at least one predicted geographic cluster to each of at least a subset of the plurality of container host devices;

selecting one of the subset of the plurality of container host devices based at least in part on the calculated network distances; and

proactively replicating the at least one software container instance in the selected container host device prior to the given time slice of the given time interval;

wherein generating the cluster pattern data comprises generating cluster pattern time series data for the two or more time slices across the two or more time intervals; and

wherein predicting formation of the at least one geographic cluster for the at least one software container instance based at least in part on the generated cluster pattern data comprises generating, utilizing a neural network model that takes as input the cluster pattern time series data, at least one prediction value indicating a likelihood of cluster formation for the given time slice.

2. The apparatus of claim 1 wherein the geographically-distributed container platform comprises a cloud computing platform.

3. The apparatus of claim 1 wherein monitoring the client requests comprises, for a given client request, obtaining:

a timestamp of the given client request;

a container instance identifier; and

a latitude and longitude of a geographic location of a source application providing the given client request.

4. The apparatus of claim 1 wherein the generated cluster pattern data comprises, for a given one of the one or more geographic clusters associated with a given one of the one or more container instances:

an identifier of a given one of the two or more time intervals;

a container instance identifier of the given container instance;

an identifier of a given one of the two or more time slices; and

a geographic location of the given geographic cluster.

5. The apparatus of claim 4 wherein the geographic location of the given cluster comprise a cluster midpoint location.

6. The apparatus of claim 1 wherein generating the cluster pattern data comprises identifying the one or more geographic clusters utilizing a machine learning clustering algorithm.

7. The apparatus of claim 6 wherein the machine learning clustering algorithm comprises a K-means clustering algorithm.

8. The apparatus of claim 6 wherein the machine learning clustering algorithm comprises at least one of: a mini-batch K-means clustering algorithm, a hierarchical clustering algorithm, a density-based spatial clustering of application with noise algorithm, and a mean shift clustering algorithm.

9. The apparatus of claim 1 wherein the neural network model comprises a long short term memory neural network model.

10. The apparatus of claim 1 wherein the calculated network distances are based at least in part on geographic distances between the predicted geographic cluster and each of the subset of the plurality of container host devices.

11. The apparatus of claim 10 wherein the calculated network distances are further based at least in part on predictions of available network bandwidth and network latency between the predicted geographic cluster and each of the subset of the plurality of container host devices for the given time slice of the given time interval.

12. The apparatus of claim 1 wherein calculating the network distance from the predicted geographic cluster to each of the subset of the plurality of container host devices comprises utilizing a Haversine distance computation algorithm.

13. The apparatus of claim 1 wherein proactively replicating the at least one software container instance in the selected container host device prior to the given time slice of the given time interval comprises redirecting network traffic from at least one other container host device hosting the at least one software container instance to the selected container host device.

14. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform steps of:

monitoring, over two or more time intervals, client requests to access one or more software container instances each hosted by one or more of a plurality of container host devices of a geographically-distributed software container platform, each of the two or more time intervals comprising two or more time slices;

generating cluster pattern data for the one or more software container instances, the cluster pattern data comprising one or more geographic clusters of client requests for at least one of the one or more software container instances in at least one of the two or more time slices;

predicting, for a given one of the two or more time slices in a given time interval subsequent to the two or more time intervals, formation of at least one geographic cluster of client requests for at least one of the one or more software container instances based at least in part on the generated cluster pattern data;

calculating network distances from the at least one predicted geographic cluster to each of at least a subset of the plurality of container host devices;

selecting one of the subset of the plurality of container host devices based at least in part on the calculated network distances; and

proactively replicating the at least one software container instance in the selected container host device prior to the given time slice of the given time interval;

wherein generating the cluster pattern data comprises generating cluster pattern time series data for the two or more time slices across the two or more time intervals; and

wherein predicting formation of the at least one geographic cluster for the at least one software container instance based at least in part on the generated cluster pattern data comprises generating, utilizing a neural network model that takes as input the cluster pattern time series data, at least one prediction value indicating a likelihood of cluster formation for the given time slice.

15. The computer program product of claim 14 wherein the neural network model comprises a long short term memory neural network model.

16. A method comprising steps of:

monitoring, over two or more time intervals, client requests to access one or more software container instances each hosted by one or more of a plurality of container host devices of a geographically-distributed software container platform, each of the two or more time intervals comprising two or more time slices;

generating cluster pattern data for the one or more software container instances, the cluster pattern data comprising one or more geographic clusters of client requests for at least one of the one or more software container instances in at least one of the two or more time slices;

predicting, for a given one of the two or more time slices in a given time interval subsequent to the two or more time intervals, formation of at least one geographic cluster of client requests for at least one of the one or more software container instances based at least in part on the generated cluster pattern data;

calculating network distances from the at least one predicted geographic cluster to each of at least a subset of the plurality of container host devices;

selecting one of the subset of the plurality of container host devices based at least in part on the calculated network distances; and

proactively replicating the at least one software container instance in the selected container host device prior to the given time slice of the given time interval;

wherein generating the cluster pattern data comprises generating cluster pattern time series data for the two or more time slices across the two or more time intervals; and

wherein predicting formation of the at least one geographic cluster for the at least one software container instance based at least in part on the generated cluster pattern data comprises generating, utilizing a neural network model that takes as input the cluster pattern time series data, at least one prediction value indicating a likelihood of cluster formation for the given time slice; and

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

17. The method of claim 16 wherein the neural network model comprises a long short term memory neural network model.

18. The apparatus of claim 9 wherein the long short term memory neural network model comprises a cell state providing long term memory and a hidden state providing short term memory, wherein the hidden state and the cluster pattern time series data are applied to an activation function to produce a first output, wherein a forget filter is applied to the cell state to produce a second output, and wherein the first output and the second output are combined to generate the at least one prediction value indicating the likelihood of cluster formation for the given time slice.

19. The computer program product of claim 15 wherein the long short term memory neural network model comprises a cell state providing long term memory and a hidden state providing short term memory, wherein the hidden state and the cluster pattern time series data are applied to an activation function to produce a first output, wherein a forget filter is applied to the cell state to produce a second output, and wherein the first output and the second output are combined to generate the at least one prediction value indicating the likelihood of cluster formation for the given time slice.

20. The method of claim 17 wherein the long short term memory neural network model comprises a cell state providing long term memory and a hidden state providing short term memory, wherein the hidden state and the cluster pattern time series data are applied to an activation function to produce a first output, wherein a forget filter is applied to the cell state to produce a second output, and wherein the first output and the second output are combined to generate the at least one prediction value indicating the likelihood of cluster formation for the given time slice.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 8, 2020
From: RAFEY, MOHAMMAD; LOKESH PRASAD, JAGATHA SAI SIVA SURYA
To: DELL PRODUCTS L.P.
Reel/Frame 054007/0097 →