IP Library Granted Patent US 11,343,310
Granted Patent B2
US 11,343,310 · App. 17/033,520 · Granted May 24, 2022

Detecting anomalies in a distributed application

Inventors: Edo Yacov Dekel (Tel-Aviv, IL); Haim Helman (Los Gatos, CA)
Assignee: VMware, Inc.
H04L67/1029H04L43/04H04L43/062H04L47/783H04L67/1008H04L67/1031
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,343,310
App. No.
17/033,520
Granted
May 24, 2022
Kind
B2
Abstract

Anomalies are detected in a distributed application that runs on a plurality of nodes to execute at least first and second workloads. The method of detecting anomalies includes collecting first network traffic data of the first workload and second network traffic data of the second workload during a first period of execution of the first and second workloads, collecting third network traffic data of the first workload and fourth network traffic data of the second workload during a second period of execution of the first and second workloads, and detecting an anomaly in the distributed application based on a comparison of the third network traffic data against the first network traffic data or a comparison of the fourth network traffic data against the second network traffic data. Anomalies may also be detected by comparing network traffic data of two groups of containers executing the same workload.

Claims (51)

1. A method of detecting anomalies in a distributed application that runs on a plurality of nodes to execute a plurality of workloads, comprising:

collecting first network traffic data of the workloads at a number of different times during a first period of execution of the workloads;

examining metadata of each first network traffic data that is collected to determine a workload ID of a workload that generated the first network traffic data and to determine whether the first network traffic data is egress data, ingress data, or neither;

upon determining that the first network traffic data is egress data, recording egress traffic information contained in the metadata in association with the workload ID;

upon determining that the first network traffic data is ingress data, recording ingress traffic information contained in the metadata in association with the workload ID;

upon determining that the first network traffic data is neither egress data nor ingress data, computing a data rate of the first network traffic data that is neither egress data nor ingress data and recording the computed data rate in association with the workload ID;

collecting second network traffic data of the workloads at a number of different times during a second period of execution of the workloads after the first period of execution;

examining metadata of each second network traffic data that is collected to determine a workload ID of a workload that generated the second network traffic data and to determine whether the second network traffic data is egress data, ingress data, or neither; and

detecting one or more anomalies in the distributed application based on a comparison of egress traffic information contained in the metadata of the second network traffic data, ingress traffic information contained in the metadata of the second network traffic data, and a data rate of the second network traffic data that is neither egress data nor ingress data, respectively against the egress traffic information, the ingress traffic information, and the computed data rate that are recorded in association with the workload ID corresponding to the workload ID of the workload that generated the second network traffic data.

2. The method of claim 1 , wherein the egress network traffic information includes port, protocol, and domain specified in the egress data.

3. The method of claim 2 , further comprising:

computing a data rate of the egress data and recording the data rate of the egress data in association with the workload ID of the workload that generated the first network traffic data, wherein

an anomaly in the distributed application is detected also based on a comparison of a data rate of the second network traffic data that is egress data against the data rate of the egress data that is recorded in association with the workload ID corresponding to the workload ID of the workload that generated the second network traffic data.

4. The method of claim 1 , wherein the ingress network traffic indicates whether the ingress data originated from a public network or a private network.

5. The method of claim 4 , further comprising:

computing a data rate of the ingress data and recording the data rate of the ingress data in association with the workload ID of the workload that generated the first network traffic data, wherein

an anomaly in the distributed application is detected also based on a comparison of a data rate of the second network traffic data that is ingress data against the data rate of the ingress data that is recorded in association with the workload ID corresponding to the workload ID of the workload that generated the second network traffic data.

6. A computing system for detecting anomalies in a distributed application that runs on a plurality of nodes to execute a plurality of workloads, said computing system comprising:

a storage device; and

an anomaly detection server, wherein the anomaly detection server is configured to:

examine metadata of each first network traffic data that is collected at a number of different times during a first period of execution of the workloads to determine a workload ID of a workload that generated the first network traffic data and to determine whether the first network traffic data is egress data, ingress data, or neither;

upon determining that the first network traffic data is egress data, record in the storage device egress traffic information contained in the metadata in association with the workload ID;

upon determining that the first network traffic data is ingress data, record in the storage device ingress traffic information contained in the metadata in association with the workload ID;

upon determining that the first network traffic data is neither egress data nor ingress data, compute a data rate of the first network traffic data that is neither egress data nor ingress data and record in the storage device the computed data rate in association with the workload ID;

examine metadata of each second network traffic data that is collected at a number of different times during a second period of execution of the workloads after the first period of execution to determine a workload ID of a workload that generated the second network traffic data and to determine whether the second network traffic data is egress data, ingress data, or neither; and

detect one or more anomalies in the distributed application based on a comparison of egress traffic information contained in the metadata of the second network traffic data, ingress traffic information contained in the metadata of the second network traffic data, and a data rate of the second network traffic data that is neither egress data nor ingress data, respectively against the egress traffic information, the ingress traffic information, and the computed data rate that are recorded in the storage device in association with the workload ID corresponding to the workload ID of the workload that generated the second network traffic data.

7. The computing system of claim 6 , wherein

the distributed application is deployed onto a Kubernetes platform.

8. The computing system of claim 6 , wherein the egress network traffic information includes port, protocol, and domain specified in the egress data.

9. The computing system of claim 6 , wherein the ingress network traffic indicates whether the ingress data originated from a public network or a private network.

10. A non-transitory computer readable medium comprising instructions that are executable in a computer system, wherein the instructions when executed cause the computer system to carry out a method of detecting anomalies in a distributed application that runs on a plurality of nodes to execute a plurality of workloads, said method comprising:

examining metadata of each first network traffic data that is collected at a number of different times during a first period of execution of the workloads to determine a workload ID of a workload that generated the first network traffic data and to determine whether the first network traffic data is egress data, ingress data, or neither;

upon determining that the first network traffic data is egress data, recording egress traffic information contained in the metadata in association with the workload ID;

upon determining that the first network traffic data is ingress data, recording ingress traffic information contained in the metadata in association with the workload ID;

upon determining that the first network traffic data is neither egress data nor ingress data, computing a data rate of the first network traffic data that is neither egress data nor ingress data and recording the computed data rate in association with the workload ID;

examining metadata of each second network traffic data that is collected at a number of different times during a second period of execution of the workloads after the first period of execution to determine a workload ID of a workload that generated the second network traffic data and to determine whether the second network traffic data is egress data, ingress data, or neither; and

detecting one or more anomalies in the distributed application based on a comparison of egress traffic information contained in the metadata of the second network traffic data, ingress traffic information contained in the metadata of the second network traffic data, and a data rate of the second network traffic data that is neither egress data nor ingress data, respectively against the egress traffic information, the ingress traffic information, and the computed data rate that are recorded in association with the workload ID corresponding to the workload ID of the workload that generated the second network traffic data.

11. The non-transitory computer readable medium of claim 10 , wherein the egress network traffic information includes port, protocol, and domain specified in the egress data.

12. The non-transitory computer readable medium of claim 11 , wherein said method further comprises:

computing a data rate of the egress data and recording the data rate of the egress data in association with the workload ID of the workload that generated the first network traffic data, wherein

an anomaly in the distributed application is detected also based on a comparison of a data rate of the second network traffic data that is egress data against the data rate of the egress data that is recorded in association with the workload ID corresponding to the workload ID of the workload that generated the second network traffic data.

13. The non-transitory computer readable medium of claim 10 , wherein the ingress network traffic indicates whether the ingress data originated from a public network or a private network.

14. The non-transitory computer readable medium of claim 13 , wherein said method further comprises:

computing a data rate of the ingress data and recording the data rate of the ingress data in association with the workload ID of the workload that generated the first network traffic data, wherein

an anomaly in the distributed application is detected also based on a comparison of a data rate of the second network traffic data that is ingress data against the data rate of the ingress data that is recorded in association with the workload ID corresponding to the workload ID of the workload that generated the second network traffic data.

15. The computing system of claim 8 , wherein the anomaly detection server is configured to:

compute a data rate of the egress data and record in the storage device the data rate of the egress data in association with the workload ID of the workload that generated the first network traffic data, wherein

an anomaly in the distributed application is detected also based on a comparison of a data rate of the second network traffic data that is egress data against the data rate of the egress data that is recorded in the storage device in association with the workload ID corresponding to the workload ID of the workload that generated the second network traffic data.

16. The computing system of claim 9 , wherein the anomaly detection server is configured to:

compute a data rate of the ingress data and record in the storage device the data rate of the ingress data in association with the workload ID of the workload that generated the first network traffic data, wherein

an anomaly in the distributed application is detected also based on a comparison of a data rate of the second network traffic data that is ingress data against the data rate of the ingress data that is recorded in the storage device in association with the workload ID corresponding to the workload ID of the workload that generated the second network traffic data.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2020
From: DEKEL, EDO YACOV; HELMAN, HAIM
To: VMWARE, INC.
Reel/Frame 053893/0428 →
Continuity (1)
Related Publication 20220103619A1 · Mar 31, 2022
Cited By (1)
US 12,259,969