IP Library Granted Patent US 11,106,560
Granted Patent B2
US 11,106,560 · App. 16/016,103 · Granted Aug 31, 2021

Adaptive thresholds for containers

Inventors: Sudhir Vijendra (Westborough, MA); Shashidhar Krishnaswamy (White Plains, NY)
Assignee: EMC IP Holding Company LLC
G06F11/3409G06F11/3024G06N20/00
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,106,560
App. No.
16/016,103
Granted
Aug 31, 2021
Kind
B2
Abstract

A method includes identifying container metrics for containers running in a container environment, collecting container data for the containers, and generating an adaptive threshold for a given one of the identified container metrics. The adaptive threshold specifies one or more values for the given container metric for a designated time period. The adaptive threshold is generated utilizing a scoring algorithm that determines a range of accepted container behavior for the designated time period by analyzing the collected container data using one or more machine learning algorithms. The method also includes monitoring behavior of the containers during the designated time period utilizing the adaptive threshold, and generating an alert responsive to detecting that the monitored behavior of a given one of the containers is outside the range of accepted container behavior for the designated time period specified by the given adaptive threshold for the given container metric.

Claims (66)

1. A method comprising:

identifying a set of container metrics for a plurality of containers running in a container environment;

collecting container data for the plurality of containers;

generating an adaptive threshold for at least a given one of the identified container metrics, the adaptive threshold specifying one or more values for the given container metric for a designated time period, the adaptive threshold being generated utilizing a scoring algorithm that determines a range of accepted container behavior for the designated time period by analyzing the collected container data using two or more different machine learning algorithms;

monitoring behavior of the plurality of containers during the designated time period utilizing the adaptive threshold; and

generating an alert responsive to detecting that the monitored behavior of at least a given one of the plurality of containers is outside the range of accepted container behavior for the designated time period specified by the given adaptive threshold for the given container metric;

wherein generating the adaptive threshold comprises:

generating two or more different predictions of an expected range of container behavior for the designated time period utilizing the two or more different machine learning algorithms; and

combining the two or more different predictions of the expected range of container behavior for the designated time period to generate the determined range of accepted container behavior for the designated time period;

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

2. The method of claim 1 wherein the identified set of container metrics comprise one or more state metrics, the one or more state metrics comprising at least one of a number of running containers, a number of available containers, and a number of unavailable containers.

3. The method of claim 1 wherein the identified set of container metrics comprise one or more resource utilization metrics, the one or more resource utilization metrics comprising at least one of central processing unit (CPU) usage, CPU capacity, memory usage, memory capacity, file system usage, and storage input/output (I/O).

4. The method of claim 1 wherein the identified set of container metrics comprise one or more network utilization metrics, the one or more network utilization metrics comprising at least one of network traffic in, network traffic out, network traffic volume, network traffic count, and dropped packets.

5. The method of claim 1 wherein the identified set of container metrics comprise one or more application metrics, the one or more application metrics comprising at least one of session errors, response times, and error rates.

6. The method of claim 1 wherein collecting the container data comprises:

classifying the container data as being associated with designated types of container metrics; and

clustering the classified container data by time period.

7. The method of claim 6 wherein collecting the container data further comprises aggregating the clustered container data to one or more of a set of designated key performance indicators (KPIs) for the plurality of containers.

8. The method of claim 1 wherein the two or more machine learning algorithms for determining the range of accepted container behavior comprise two or more of a zero rule classification algorithm, a clustering algorithm, and a binomial distribution algorithm.

9. The method of claim 1 further comprising repeating the collecting, generating the adaptive threshold and monitoring for each of a plurality of designated time periods, wherein the generated adaptive threshold for a first one of the plurality of designated time periods is different than the generated adaptive threshold for at least a second one of the plurality of designated time periods.

10. The method of claim 1 , further comprising, responsive to generating the alert, at least one of:

adjusting a number of running containers in the container environment;

migrating one or more of the plurality of containers from a first container host device to a second container host device; and

modifying an amount of one or more compute, storage and network resources of at least one container host device that are allocated to the plurality of containers.

11. The method of claim 1 wherein identifying the set of container metrics comprises receiving, at a stream processing framework from a threshold definition service, configuration information for adaptive thresholds based at least in part on a set of adaptive threshold configuration templates obtained from a threshold definition data store.

12. The method of claim 11 wherein collecting the container data comprises the stream processing framework utilizing the configuration information to subscribe to the identified set of container metrics from at least one broker, the at least one broker periodically pulling the container data from at least one of a metric repository and one or more container monitoring tools.

13. The method of claim 12 wherein generating the adaptive threshold comprises the stream processing framework parsing and filtering the subscribed container metrics, utilizing the two or more different machine learning algorithms to generate the two or more different predictions of the expected range of container behavior, and applying the scoring algorithm to the two or more different predictions of the expected range of container behavior to determine the range of accepted container behavior and to generate the adaptive threshold based at least in part on the determined range of accepted container behavior for the designated time period.

14. The method of claim 13 wherein monitoring the behavior of the containers for the designated time period comprises at least one of:

the stream processing framework providing the adaptive threshold to the at least one broker and the at least one broker providing the adaptive threshold to a threshold repository that generates reports of container behavior; and

the stream processing framework exposing the adaptive threshold via one or more representational state transfer (REST) application programming interfaces (APIs) to one or more container monitoring tools.

15. 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 cause the at least one processing device:

to identify a set of container metrics for a plurality of containers running in a container environment;

to collect container data for the plurality of containers;

to generate an adaptive threshold for at least a given one of the identified container metrics, the adaptive threshold specifying one or more values for the given container metric for a designated time period, the adaptive threshold being generated utilizing a scoring algorithm that determines a range of accepted container behavior for the designated time period by analyzing the collected container data using two or more different machine learning algorithms;

to monitor behavior of the plurality of containers during the designated time period utilizing the adaptive threshold; and

to generate an alert responsive to detecting that the monitored behavior of at least a given one of the plurality of containers is outside the range of accepted container behavior for the designated time period specified by the given adaptive threshold for the given container metric;

wherein generating the adaptive threshold comprises:

generating two or more different predictions of an expected range of container behavior for the designated time period utilizing the two or more different machine learning algorithms; and

combining the two or more different predictions of the expected range of container behavior for the designated time period to determine the range of accepted container behavior for the designated time period.

16. The computer program product of claim 15 wherein:

identifying the set of container metrics comprises receiving, at a stream processing framework from a threshold definition service, configuration information for adaptive thresholds based at least in part on a set of adaptive threshold configuration templates obtained from a threshold definition data store; and

collecting the container data comprises the stream processing framework utilizing the configuration information to subscribe to the identified set of container metrics from at least one broker, the at least one broker periodically pulling the container data from at least one of a metric repository and one or more container monitoring tools.

17. The computer program product of claim 16 wherein:

generating the adaptive threshold comprises the stream processing framework parsing and filtering the subscribed container metrics, utilizing the two or more different machine learning algorithms to generate the two or more different predictions of the expected range of container behavior, and applying the scoring algorithm to the two or more different predictions of the executed range of container behavior to determine the range of accepted container behavior and to generate the adaptive threshold based at least in part on the determined range of accepted container behavior for the designated time period; and

monitoring the behavior of the containers for the designated time period comprises at least one of:

the stream processing framework providing the adaptive threshold to the at least one broker and the at least one broker providing the adaptive threshold to a threshold repository that generates reports of container behavior; and

the stream processing framework exposing the adaptive threshold via one or more representational state transfer (REST) application programming interfaces (APIs) to one or more container monitoring tools.

18. An apparatus comprising:

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

the at least one processing device being configured:

to identify a set of container metrics for a plurality of containers running in a container environment;

to collect container data for the plurality of containers;

to generate an adaptive threshold for at least a given one of the identified container metrics, the adaptive threshold specifying one or more values for the given container metric for a designated time period, the adaptive threshold being generated utilizing a scoring algorithm that determines a range of accepted container behavior for the designated time period by analyzing the collected container data using two or more different machine learning algorithms;

to monitor behavior of the plurality of containers during the designated time period utilizing the adaptive threshold; and

to generate an alert responsive to detecting that the monitored behavior of at least a given one of the plurality of containers is outside the range of accepted container behavior for the designated time period specified by the given adaptive threshold for the given container metric;

wherein generating the adaptive threshold comprises:

generating two or more different predictions of an expected range of container behavior for the designated time period utilizing the two or more different machine learning algorithms; and

combining the two or more different predictions of the expected range of container behavior for the designated time period to determine the range of accepted container behavior for the designated time period.

19. The apparatus of claim 18 wherein:

identifying the set of container metrics comprises receiving, at a stream processing framework from a threshold definition service, configuration information for adaptive thresholds based at least in part on a set of adaptive threshold configuration templates obtained from a threshold definition data store; and

collecting the container data comprises the stream processing framework utilizing the configuration information to subscribe to the identified set of container metrics from at least one broker, the at least one broker periodically pulling the container data from at least one of a metric repository and one or more container monitoring tools.

20. The apparatus of claim 19 wherein:

generating the adaptive threshold comprises the stream processing framework parsing and filtering the subscribed container metrics, utilizing the two or more different machine learning algorithms to generate the two or more different predictions of the expected range of container behavior, and applying the scoring algorithm to the two or more different predictions of the executed range of container behavior to determine the range of accepted container behavior and to generate the adaptive threshold based at least in part on the determined range of accepted container behavior for the designated time period; and

monitoring the behavior of the containers for the designated time period comprises at least one of:

the stream processing framework providing the adaptive threshold to the at least one broker and the at least one broker providing the adaptive threshold to a threshold repository that generates reports of container behavior; and

the stream processing framework exposing the adaptive threshold via one or more representational state transfer (REST) application programming interfaces (APIs) to one or more container monitoring tools.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 22, 2018
From: VIJENDRA, SUDHIR; KRISHNASWAMY, SHASHIDHAR
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046180/0617 →