SOFTWARE DEFINED ANOMALY DETECTION FOR WORKLOADS
20230145484 · 2023-05-11
Inventors
Cpc classification
G06F2009/45595
PHYSICS
H04L67/10
ELECTRICITY
G08B21/182
PHYSICS
International classification
G06F9/455
PHYSICS
Abstract
A system may include a virtual machine, of a cloud computing environment, that executes a target application workload to be intercepted. A software defined anomaly detection engine (that is separate from the target application workload and that is also executing in the virtual machine) may intercept the target application workload. A computer processor of the software defined anomaly detection engine may intercept network traffic that is external to the virtual machine and associated with the target application workload. The software defined anomaly detection engine may then automatically execute an anomaly detection algorithm in substantially real time on the intercepted network traffic to generate an intercept result. An anomaly detection alert signal may be transmitted based on a comparison of the intercept result and an anomaly threshold value.
Claims
1. A system associated with a cloud computing environment, comprising: a virtual machine of the cloud computing environment executing a target application workload to be intercepted; and a software defined anomaly detection engine, that is separate from the target application workload and that is also executing in the virtual machine, to intercept the target application workload, including: a computer processor, and a computer memory coupled to the computer processor and storing instructions that, when executed by the computer processor, cause the software defined anomaly detection engine to: (i) intercept network traffic that is external to the virtual machine and associated with the target application workload, (ii) automatically execute an anomaly detection algorithm in substantially real time on the intercepted network traffic to generate an intercept result, and (iii) transmit an anomaly detection alert signal based on a comparison of the intercept result and an anomaly threshold value.
2. The system of claim 1, wherein the virtual machine comprises a Kubernetes container-orchestration system cluster.
3. The system of claim 2, wherein the target application workload is executed via a first pod of the cluster, and the software defined anomaly detection engine is executed via a second pod of the cluster.
4. The system of claim 2, wherein the software defined anomaly detection engine is executed as a side car to the target application workload.
5. The system of claim 1, wherein the virtual machine is associated with a hyperscale computing approach.
6. The system of claim 1, wherein a control plane of the cloud computing environment receives a request to register for anomaly detection and, responsive to the received request, deploys the software define anomaly detection engine to a data plane for the virtual machine.
7. The system of claim 6, wherein the data plane intercepts the network traffic by identifying information in an incoming data stream.
8. The system of claim 1, wherein the anomaly detection algorithm is associated with a spectral residual method.
9. The system of claim 1, wherein transmission of the anomaly detection alert results in at least one of: (i) an automatic scaling of computing resources for the target application workload, and (ii) a notification to a cloud computing environment administrator.
10. A computer-implemented method associated with a cloud computing environment, comprising: arranging for a virtual machine of the cloud computing environment to execute a target application workload to be intercepted; intercepting, by a computer processor of a software defined anomaly detection engine separate from the target application workload that is also executing in the virtual machine to intercept the target application workload, network traffic that is external to the virtual machine and associated with the target application workload; automatically executing an anomaly detection algorithm in substantially real time on the intercepted network traffic to generate an intercept result; and transmitting an anomaly detection alert signal based on a comparison of the intercept result and an anomaly threshold value.
11. The method of claim 10, wherein the virtual machine comprises a Kubernetes container orchestration system cluster.
12. The method of claim 11, wherein the target application workload is executed via a first pod of the cluster, and the software defined anomaly detection engine is executed via a second pod of the cluster.
13. The method of claim 11, wherein the software defined anomaly detection engine is executed as a side car to the target application workload.
14. The method of claim 10, wherein the virtual machine is associated with a hyperscale computing approach.
15. The method of claim 10, wherein a control plane of the cloud computing environment receives a request to register for anomaly detection and, responsive to the received request, deploys the software define anomaly detection engine to a data plane for the virtual machine.
16. The method of claim 15, wherein the data plane intercepts the network traffic by identifying information in an incoming data stream.
17. The method of claim 10, wherein the anomaly detection algorithm is associated with a spectral residual method.
18. The method of claim 10, wherein transmission of the anomaly detection alert results in at least one of: (i) an automatic scaling of computing resources for the target application workload, and (ii) a notification to a cloud computing environment administrator.
19. A system comprising: at least one programmable processor; and a non-transitory machine-readable medium storing instructions that, when executed by the at least one programmable processor, cause the at least one programmable processor to perform operations associated with a cloud computing environment, including: arranging for a Kubernetes container orchestration system cluster of the cloud computing environment to execute a target application workload to be intercepted, intercepting, by a computer processor of a software defined anomaly detection engine, that is separate from the target application workload and that is also executing in the cluster to intercept the target application workload, network traffic that is external to the cluster and associated with the target application workload, automatically executing an anomaly detection spectral residual algorithm in substantially real time on the intercepted network traffic to generate an intercept result, and transmitting an anomaly detection alert signal based on a comparison of the intercept result and an anomaly threshold value.
20. The system of claim 19, wherein the target application workload is executed via a first pod of the cluster, and the software defined anomaly detection engine is executed via a second pod of the cluster.
21. The system of claim 19, wherein the software defined anomaly detection engine is executed as a side car to the target application workload.
22. The system of claim 19, wherein transmission of the anomaly detection alert results in at least one of: (i) an automatic scaling of computing resources for the target application workload, and (ii) a notification to a cloud computing environment administrator.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0007]
[0008]
[0009]
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
DETAILED DESCRIPTION
[0021] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of embodiments. However, it will be understood by those of ordinary skill in the art that the embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to obscure the embodiments.
[0022] One or more specific embodiments of the present invention will be described below. In an effort to provide a concise description of these embodiments, all features of an actual implementation may not be described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developer's specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
[0023] There are various ways a system might implement anomaly detection for an application being intercepted. For example,
[0024]
[0025] According to some embodiments, devices, including those associated with the system 300 and any other device described herein, may exchange data via any communication network which may be one or more of a Local Area Network (“LAN”), a Metropolitan Area Network (“MAN”), a Wide Area Network (“WAN”), a proprietary network, a Public Switched Telephone Network (“PSTN”), a Wireless Application Protocol (“WAP”) network, a Bluetooth network, a wireless LAN network, and/or an Internet Protocol (“IP”) network such as the Internet, an intranet, or an extranet. Note that any devices described herein may communicate via one or more such communication networks.
[0026] The elements of the system 300 may store data into and/or retrieve data from various data stores (e.g., a storage device), which may be locally stored or reside remote from the virtual machine 350. Although a single virtual machine 350 is shown in
[0027] A user (e.g., a cloud operator or administrator) may access the system 300 via a remote device (e.g., a Personal Computer (“PC”), tablet, or smartphone) to view data about and/or manage operational data in accordance with any of the embodiments described herein. In some cases, an interactive graphical user interface display may let an operator or administrator define and/or adjust certain parameters (e.g., to set up or adjust various algorithm parameters) and/or receive automatically generated recommendations, results, and/or alerts from the system 300.
[0028]
[0029] At S410, the system may arrange for a virtual machine of a cloud computing environment to execute a target application workload to be intercepted. According to some embodiments, the virtual machine comprises a Kubernetes container-orchestration system cluster. In such cases, the target application workload may be executed via a first pod of the cluster, and a software defined anomaly detection engine may be executed via a second pod of the cluster. In some embodiments, a software defined anomaly detection engine is executed as a side car to the target application workload. Moreover, a virtual machine might be associated with, in some embodiments, a hyperscale computing approach.
[0030] At S420, a computer processor of a software defined anomaly detection engine (which is separate from the target application workload and that is also executing in the virtual machine) may be provided to intercept the targe application workload. Moreover, the software defined anomaly detection engine may intercept network traffic (that is external to the virtual machine and associated with the target application workload). In some embodiments, a control plane of the cloud computing environment receives a request to register for anomaly detection and, responsive to the received request, deploys the software define anomaly detection engine to a data plane for the virtual machine. A data plane may then intercept network traffic by identifying information in an incoming data stream.
[0031] At S430, an anomaly detection algorithm may be automatically executed, in substantially real time, on the intercepted network traffic to generate an intercept result. According to some embodiments, the anomaly detection algorithm is associated with a spectral residual method. At S440, an anomaly detection alert signal may be transmitted based on a comparison of the intercept result and an anomaly threshold value. According to some embodiments, transmission of the anomaly detection alert may result in an automatic scaling of computing resources for the target application workload (e.g., to add memory, IO capacity, and/or CPU power). In other embodiments, transmission of the anomaly detection alert may result in a notification to a cloud computing environment administrator (e.g., a person or process).
[0032] In this way, embodiments may provide a model of software defined anomaly detection which has the following properties: [0033] an application does not have to deal with creating an anomaly detection framework, etc., [0034] anomaly detection happens in substantially real-time, and [0035] an application does not have to talk to an external service over a network to send data.
[0036]
[0037]
[0038]
Thus, embodiments may setup the engine to start intercepting the data (in a non-intrusive way) and applying anomaly detection online as data is passing through to the actual pod (target software 710). This avoids need of any changes to the existing software to push data to a service externally (which can introduce network costs and latency both in terms of data transfer and anomaly detection).
[0041]
[0042]
[0043]
[0044]
[0045] Note that the embodiments described herein may be implemented using any number of different hardware configurations. For example,
[0046] The processor 1210 also communicates with a storage device 1230. The storage device 1230 can be implemented as a single database or the different components of the storage device 1230 can be distributed using multiple databases (that is, different deployment data storage options are possible). The storage device 1230 may comprise any appropriate data storage device, including combinations of magnetic storage devices (e.g., a hard disk drive), optical storage devices, mobile telephones, and/or semiconductor memory devices. The storage device 1230 stores a program 1212 and/or anomaly detection engine 1214 for controlling the processor 1210. The processor 1210 performs instructions of the programs 1212, 1214, and thereby operates in accordance with any of the embodiments described herein. For example, the processor 1210 may identify a virtual machine, of a cloud computing environment, that executes a target application workload to be intercepted. A software defined anomaly detection engine (that is separate from the target application workload and that is also executing in the same virtual machine) may be connected with the target application workload. The processor 1210 may intercept network traffic that is external to the virtual machine and associated with the target application workload. The processor 1210 may then automatically execute an anomaly detection algorithm in substantially real time on the intercepted network traffic to generate an intercept result. An anomaly detection alert signal may be transmitted by the processor 1210 based on a comparison of the intercept result and an anomaly threshold value.
[0047] The programs 1212, 1214 may be stored in a compressed, uncompiled and/or encrypted format. The programs 1212, 1214 may furthermore include other program elements, such as an operating system, clipboard application, a database management system, and/or device drivers used by the processor 1210 to interface with peripheral devices.
[0048] As used herein, data may be “received” by or “transmitted” to, for example: (i) the platform 1200 from another device; or (ii) a software application or module within the platform 1200 from another software application, module, or any other source.
[0049] In some embodiments (such as the one shown in
[0050] Referring to
[0051] The anomaly identifier 1302 might be a unique alphanumeric label or link that is associated with a particular anomaly that has been detected by the system. The application identifier 1304 might be a unique alphanumeric label or link that is associated with a currently executing application that is being intercepted for anomalies (along with the virtual machine on which application is executing). The anomaly type 1306 may describe the nature of the anomaly (e.g., more or fewer hits as compared to what was expected). The date and time 1308 may indicate when the anomaly occurred. The result 1310 might indicate what action or actions were taken in response to the detection of the anomaly (e.g., adding computer resources, notifying an administrator, etc.).
[0052] In this way, embodiments may facilitate software defined anomaly detection for cloud computing environment workloads in an efficient and accurate manner. Since anomaly detection is a broad domain (and can be potentially used for almost all workloads) this way of provisioning anomaly detection can be put to use for many Kubernetes deployments with relatively low overhead. Embodiments may provide for the early detection of anomalies (and allow appropriate for alerting or taking actions) which can be a good business value for a cloud service or application provider.
[0053] The following illustrates various additional embodiments of the invention. These do not constitute a definition of all possible embodiments, and those skilled in the art will understand that the present invention is applicable to many other embodiments. Further, although the following embodiments are briefly described for clarity, those skilled in the art will understand how to make any changes, if necessary, to the above-described apparatus and methods to accommodate these and other embodiments and applications.
[0054] Although specific hardware and data configurations have been described herein, note that any number of other configurations may be provided in accordance with some embodiments of the present invention (e.g., some of the data associated with the databases described herein may be combined or stored in external systems). Moreover, although some embodiments are focused on particular types of application anomalies and responses to those anomalies (e.g., restarting an application, adding resources), any of the embodiments described herein could be applied to other types of application anomalies and responses. Moreover, the displays shown herein are provided only as examples, and any other type of user interface could be implemented. For example,
[0055] The present invention has been described in terms of several embodiments solely for the purpose of illustration. Persons skilled in the art will recognize from this description that the invention is not limited to the embodiments described but may be practiced with modifications and alterations limited only by the spirit and scope of the appended claims.