CN103988175A - 识别用于响应云计算系统中的异常的动作的方法和系统 - Google Patents
识别用于响应云计算系统中的异常的动作的方法和系统 Download PDFInfo
- Publication number
- CN103988175A CN103988175A CN201180075414.5A CN201180075414A CN103988175A CN 103988175 A CN103988175 A CN 103988175A CN 201180075414 A CN201180075414 A CN 201180075414A CN 103988175 A CN103988175 A CN 103988175A
- Authority
- CN
- China
- Prior art keywords
- action
- anomaly
- classifier
- metrics
- trained
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000009471 action Effects 0.000 title claims abstract description 251
- 238000000034 method Methods 0.000 title claims abstract description 61
- 239000013598 vector Substances 0.000 claims description 57
- 238000012549 training Methods 0.000 claims description 39
- 238000013139 quantization Methods 0.000 claims description 15
- 238000004891 communication Methods 0.000 claims description 12
- 238000012706 support-vector machine Methods 0.000 claims description 7
- 230000005856 abnormality Effects 0.000 claims description 3
- 230000008569 process Effects 0.000 description 20
- 230000006870 function Effects 0.000 description 14
- 230000006399 behavior Effects 0.000 description 12
- 230000002159 abnormal effect Effects 0.000 description 10
- 206010000117 Abnormal behaviour Diseases 0.000 description 8
- 230000004044 response Effects 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- 238000012544 monitoring process Methods 0.000 description 7
- 238000012360 testing method Methods 0.000 description 7
- 238000011156 evaluation Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000005530 etching Methods 0.000 description 3
- 244000035744 Hura crepitans Species 0.000 description 2
- 230000002547 anomalous effect Effects 0.000 description 2
- 230000003542 behavioural effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 238000009434 installation Methods 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000004088 simulation Methods 0.000 description 2
- OYPRJOBELJOOCE-UHFFFAOYSA-N Calcium Chemical compound [Ca] OYPRJOBELJOOCE-UHFFFAOYSA-N 0.000 description 1
- OAICVXFJPJFONN-UHFFFAOYSA-N Phosphorus Chemical compound [P] OAICVXFJPJFONN-UHFFFAOYSA-N 0.000 description 1
- 241000139306 Platt Species 0.000 description 1
- 239000002253 acid Substances 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 238000010531 catalytic reduction reaction Methods 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 239000004576 sand Substances 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/079—Root cause analysis, i.e. error or fault diagnosis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
- G06F11/0709—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0793—Remedial or corrective actions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3006—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/302—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3065—Monitoring arrangements determined by the means or processing involved in reporting the monitored data
- G06F11/3072—Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0751—Error or fault detection not based on redundancy
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
由物理计算系统执行的方法包括使用至少一个所训练的分类器自动识别用于响应云计算系统中的应用的执行中的异常的动作。所述至少一个所训练的分类器把度量组与执行用于致力于解决异常的动作的结果相关。在此还公开了系统和计算机可读介质。
Description
背景技术
云计算系统包括通过网络互连以执行特定计算任务(诸如,应用的执行)的多个硬件。应用是被设计以便于实施特定活动的计算机程序。云计算系统便于支持应用的执行的基础设施的可扩展性。例如,支持应用的硬件虚拟化的大小和配置可以依赖于由应用的执行提出的计算需求而增加或降低。
由于云计算系统的相当复杂的性质,所以可能难以:(i)确定影响应用的异常,以及(ii)断定所述异常的解决方案。通常地,自动化性能和测试产品(例如,HP 的负载运行器(LoadRunner),惠普,帕洛阿尔托(Palo Alto)(加州),美国)被用于执行云计算系统中的应用并监控所述应用。然后,管理员可以评估所监控的数据以便:(i)确定异常是否影响应用的执行,以及(ii)猜测用于致力于解决异常的动作。除此之外,实现对云计算环境中性能和正确性问题的自动反应已被建议。然而,在操作期间解决应用异常主要是手工操作。
附图说明
附图描绘了发明的示例、实现方式和配置,而不是发明本身。
图1是图示了依据示例的所训练的分类器的框图。
图2示出了各种示例可以在其中被实现的环境。
图3描绘了依据示例的系统。
图4是描绘了是依据示例的计算机可读介质的框图。
图5是描绘了图2的系统的实现方式的框图。
图6到8、11和12是描绘了实现示例所采取的步骤的流程图。
图9是图示了与一组度量相关联的签名的示例的表格。
图10是图示了用于致力于解决异常的动作的示例的表格。
具体实施方式
导言:在接下来的描述中,众多的细节被阐述以提供对在此公开示例的理解。然而,本领域的技术人员将理解所述示例可以在没有这些细节的情形下被实施。尽管有限数量的示例已被公开,但本领域的技术人员将从中认识到众多的修改和变化。旨在所附的权利要求覆盖此类修改和变化。
在此的各种示例被努力开发以便于使用物理计算系统识别用于致力于解决异常的适合动作,所述异常与云计算系统中的应用的执行相关联。如在此所使用的应用是指可由计算系统执行以便于实施特定任务的一组特定指令。例如,应用可以采用基于网络的工具的形式,所述基于网络的工具给用户提供特定的功能,诸如,注册到在线服务、访问与产品相关的数据(即,浏览),或购买产品。如在此所使用的,云计算系统是指包括被通过网络操作地耦合并且被配置成使得它们能够执行特定计算任务的多个硬件和软件的计算系统。
实现方式的示例包括确定一组量化度量是否对应于异常。所述组中的量化度量与云计算系统中的应用执行相关联。一组量化度量是指在应用的执行期间被测量或估计的一个或多个度量的聚合。度量是指支持应用的执行的云计算系统中的资源的任何可测量特征(或可以被估计的任何特征)。例如,服务器响应时间或每时间段提供的页面是度量的示例。其他示例包括:CPU利用率、存储器利用率、磁盘利用率和带宽、或由数据库接收/处理的查询。例如,这些特征与云资源的所测量的性能相关。异常可以对应于一个或多个量化度量与正常行为的偏离。所述偏离可以指示应用的非正常执行。在另一个示例中,异常可以对应于为执行应用分配的云资源的故障或失效。此类故障或失效可以通过监控与资源相关联的日志错误消息来检测。
在一些实现方式中,一组量化度量被收集并被转换成表示执行应用的云计算系统的资源的状态的签名。签名可以通过把与异常相关的信息包括在签名中而与特定异常相关联,所述信息例如是指示哪些度量对应于非正常行为的标记。签名可以在不与异常相关的情形下(诸如,当应用正依据正常行为在云计算系统中被执行时)被确定。例如,“正常”签名可以被用于例如通过与另一个签名比较来确定特定资源状态是否对应于异常;另一个示例是用于训练把一组量化度量映射到执行动作的结果的分类器。
以上实现方式的示例进一步包括:当确定一组量化度量对应于异常时,使用至少一个所训练的分量器自动(即,如由物理计算系统执行的)识别用于致力于解决异常的动作。所训练的分类器把度量与执行用于致力于解决异常的动作的结果相关。例如,与所述分类器相关联的结果可以采用值“解决”(如果动作解决异常),或“未解决”(如果动作未解决所示异常)。
图1图示了所训练的分类器h A 。用于动作A的所训练的分类器h A 是规则(或‘分类器’),使得在给定与应用的执行中的异常A相关联的一组量化度量{M i }的情形下,提供动作A解决(或未解决)所示异常的可能性P。为了通过分类器h A 评估所述可能性,特征向量X可以被从该组量化度量{M i }或从其签名S生成。所训练的分类器h A 被使用一组训练数据{T}形成。在示例中,训练数据组{T}包括训练三元组;每个训练三元组例如可以包括:(i)所观测的异常签名S obs ,(ii)用于致力于解决所观测的异常签名S obs 的所测试的动作A test,以及(iii)使用所测试的动作A test的结果Y(即,解决或未解决)。所训练的分类器h A 的形成在下面参考图3、11和12进一步详述。分类器的示例除了其他的以外包括:K最近邻居分类器、支持向量机分类器、或贝叶斯网络分类器(如下面进一步图示的)。
接下来的描述被分成多个部分。第一(标记为“环境”)描述了各种示例可以在其中被实现的示例性环境。第二部分(标记为“部件”)描述了用于实现各种示例的各种物理和逻辑部件的示例。第三部分(标记为“操作”),描述了被采用来实现各种示例的步骤。
环境:图2是各种示例可以在其中被实现的环境的示例的示意图。环境包括云计算系统100(在下文中被称为云100)、客户端设备110和动作识别设备114。云100包括物理硬件102、软件104和虚拟硬件106的组合。云100被配置成:(i)从客户端设备110接收请求108;以及(ii)返回请求响应112。借助于示例,云100可以是私有云、公共云或混合云。进一步地,云100可以是混合云,即包括私有云(或多个私有云)和公共云(或多个公共云)的云计算系统的组合。
物理硬件102除了其他的之外可以包括:处理器、存储器设备和联网装置。虚拟硬件106是由物理硬件102处理并被设计以模仿特定软件的一类软件。例如,虚拟软件106可以包括虚拟机(VM),即像物理机器一样支持应用的执行的计算机的软件实现方式。软件104是配置成促使虚拟硬件106执行应用的一组指令和数据。从而,云100可以使特定应用对于客户端设备110是可用的。客户端设备110表示配置成与云100中部署的应用交互的计算设备。
应用可以被使用物理硬件102、软件104和虚拟硬件106的特定(但可调增的)配置在云100中执行。应用的示例是电子商务应用,其通过基于网络的工具给用户提供特定功能,例如,注册到在线服务、访问与产品相关的数据(即,浏览)、或购买产品。其他应用的示例除了其他的之外包括企业应用、会计应用、多媒体相关应用、或数据存储应用。
支持应用的执行的云100的特定配置通常包括多个部件。例如环球网(web)应用可以使用Tomcat环球网服务器和MySQL数据库。这些部件可以是不同类型的。部件类型的示例是服务器,即专门用于依据请求执行与应用的执行相关联的计算任务的硬件和软件的结合。服务器可以包括VM,其包括相应的操作系统。部件类型的另一个示例是中间件,即构建使在一个或多个VM上运行的多个进程便于交互的一组服务的软件。中间件的示例包括支持应用开发和交付的相似工具或环球网数据库。应用可以例如通过添加或移除支持其执行的部件的实例而被缩放。例如,VM或中间件部件可以被添加或移除。
多个动作可以被执行以用于改变支持应用的执行的云100中的资源的特定配置,诸如接下来的任何一个:(a)添加部件类型;(b)移除部件类型;(c)重新分配实现部件实例的云100的资源;(d)重新开始部件的实例;或(e)改变部件的实例的配置(例如,把更多的存储器或更高的CPU分配到实例)。动作a)和b)是在部件类型上执行的动作;动作c)到e)是部件的实例上的动作。将被理解的是:这个动作列表不是穷举的。有非常多种类的动作可以被执行以用于改变支持应用的执行的云资源的配置。
在云100中执行应用例如可以涉及接下来的任何一个:(i)从客户端设备110接收多个请求108;(ii)依据由应用实现的特定功能处理请求108;以及(iii)返回请求响应112。支持应用的执行的云100的资源(例如,物理硬件102、虚拟硬件104、和软件106的部分)可以依赖于在应用上提出的需求而被缩放。例如,云100可以改变被分配到应用的资源的大小,所述改变例如取决于:(a)请求108的数量,(b)与应用交互的设备110的数量,或(c)在应用的性能上的需求(例如,特定服务水平协议)。此外,分配到应用的云100的资源可以被调整,以响应于应用的执行中的异常(如下面进一步图示的)。
动作识别设备114表示配置成与云100交互以便识别用于响应云100中的应用的执行中的异常的动作的计算系统。动作识别设备114可以通过发送请求116并接收作为对请求116的响应的结果118来与云100交互。借助于示例,请求116可以包括监控请求以便获得与云100中的应用的执行相关的信息(例如,支持所述应用的部件的性能信息或日志消息)。动作识别设备114可以自动识别用于基于来自与监控请求相关的结果118的数据响应异常的动作。在另一个示例中,请求116可以包括动作请求以用于在云100中的应用执行上执行动作。
向前参看,图5示出了动作识别设备114可以被操作地耦合到识别请求器系统168,使得动作识别设备114在从识别请求器系统168接收到请求时执行动作识别,并且把所述识别的结果发送到识别请求器系统168。如图2中所图示的,动作识别设备114可以在云计算系统122中被部署。云计算系统122可以形成云100的一部分,或是通过链路(参见图5中链路的示例)通信地耦合到云100的不同的云计算系统。其他可替代物也被考虑到,例如,动作识别设备114可以被部署在识别请求器的建筑物上。
数据存储124通常表示配置成存储数据的任何存储器,所述数据可以由动作识别设备114在执行其功能时访问。如将在下面更详细地描述的,那些功能可以包括:通过读取在数据存储124中存储的分类器数据126或在数据存储124中写入更新数据128以便更新与分类器相关联的数据,来访问与所训练的分类器相关的数据。数据存储124被示出为部署在云计算系统130中。可替代地,数据存储124可以被部署在识别请求器的建筑物上。
部件:图3到5描绘了用于实现各种示例的物理和逻辑部件。图3描绘了识别用于响应云计算系统中的应用的执行中的异常的动作的系统132。在该示例中,系统132包括动作识别引擎134。系统132可以进一步包括:异常确定引擎136、通信引擎138、和/或训练引擎140。
动作识别引擎134通常表示配置成识别用于响应云计算系统中的应用的执行中的异常的动作的硬件和编程的任何组合。动作识别引擎134通过使用所训练的分类器执行这个任务。当异常确定引擎136确定一组量化度量与异常相关联时,动作识别引擎134可以执行这个任务。可替代地,当接收到和处理来自把一组度量与异常相关联的另一个系统的信号时,动作识别引擎134可以执行这个任务。
动作识别引擎134可以通过处理与异常相关联的一组量化度量来执行以上的任务。所述组可以包括一个或多个原始值,每个原始值对应于量化度量。量化度量的原始值的示例是:针对时间间隔的所测量的CPU的使用率是80%。在另一个示例中,所述原始值是多个测量结果的平均值。量化的度量可以作为量化度量数据144的一部分而被存储在数据存储142中。
动作识别引擎134可以处理量化的度量,以便计算动作使用与动作相关联的所训练的分类器解决异常的可能性。为了计算所述可能性,动作识别引擎134可以使用量化度量数据144计算特征向量X。通常地,特征向量X的格式取决于使用的所训练的分类器。特征向量的示例在下面给出。与所训练的分类器相关联的数据(例如,表现所训练分类器的分类器数据)可以被作为分类器数据148的一部分存储在数据存储142中。与动作(或多个动作)相关联的数据可以被作为动作数据146的一部分存储在数据存储142中。动作数据146可以包括与云计算系统相关联的参数的数据,使得所存储的动作可以在应用的执行中被应用。分类器数据148可以包括与多个所训练的分类器相关的数据,每个所训练的分类器与动作数据146中的动作相关联。
在示例中,动作识别引擎134通过确定所计算的可能性是否足够高(例如,所计算的可能性比所选择的阈值高)来识别用于响应所述异常的动作。另一个示例如下。动作识别引擎134可以计算动作解决异常的可能性,所述异常与多个动作的所述组量化度量相关联。动作识别引擎134使用与特定动作相关联的分类器以便计算可能性。然后,动作识别引擎134可以基于分数分级不同的动作,所述分数被考虑了动作解决异常的可能性以及用于执行动作的成本针对每个动作计算。在这个示例中,动作数据144可以进一步包括与用于计算执行动作的成本V的函数相关的数据。例如,成本V可以是执行动作的货币成本$,执行动作的时间T,执行动作的风险R,或其组合中的一个(如下面进一步详述的)。
在动作数据146中存储的动作可以被划分成不同种类的动作。在示例中,动作被划分成部件类型动作和部件实例动作。部件类型动作对应于可以在云计算系统的部件类型上执行的动作,例如,添加运行环球网服务器的VM。部件实例动作对应于可以在云计算系统的部件的实例上执行的动作。把动作划分成不同的种类简化了识别用于致力于解决异常的动作的任务。
类似地,在分类器数据148中存储的分类器可以被划分成不同种类的分类器。在以上的示例中,分类器可以被划分成部件类型分类器和部件实例分类器。部件类型分类器用于计算部件类型动作解决异常的可能性。部件实例分类器用于计算部件类型动作解决异常的可能性。在示例中,部件类型上的动作可以被与部件实例上的动作独立地评估。
异常确定引擎136通常表示被配置以用于自动确定量化度量组是否与异常相关联的硬件和编程的任何组合(如下面相对于图7进一步详述的)。为了执行这个任务,异常确定引擎136可以访问形成异常数据149的一部分的过程数据。
通信引擎138通常表示被配置以使系统132与另一个系统(诸如,云100或识别请求器系统168(参见图5))通信的硬件和编程的任何组合。通信引擎138可以用于促进系统132对云100中应用的执行的监控。通信引擎138可以用于促使在云100中的应用的执行上应用所识别的动作。通信引擎138可以用于接收来自请求器系统的请求以便执行动作识别。通信引擎138可以用于把所识别的动作或所识别动作的分级传送到客户端计算机系统。从而,便于向用户(例如,负责云100中的应用的正确执行的管理者)推荐所识别的动作。
训练引擎140通常表示被配置以自动训练分类器的硬件和编程的任何组合。此外,关于训练引擎140如何可以通过处理训练数据组来执行这个任务的细节在下面相对于图12被图示。
在之前的讨论中,各种部件被描述为硬件和编程的组合。此类部件可以被以多种方式实现。参看图4,编程可以是在有形存储器介质150(即,计算机可读介质)上存储的处理器可执行的指令,以及硬件可以包括用于执行那些指令的处理器152。存储器150可以被说成存储程序指令,当所述程序指令由处理器152执行时实现图3的系统132。存储器150可以与处理器152被集成在相同的设备中,或者它可以是独立的,但可由那个设备和处理器152访问。
在一个示例中,程序指令可以是:可以由处理器152执行来实现系统132的安装包的一部分。在这种情形下,存储器150可以是便携式介质(诸如,CD、DVD、或闪存驱动器)或由安装包可以从其被下载和安装的服务器维护的存储器。在另一个示例中,程序指令可以是已安装的一个或多个应用的一部分。在这里,存储器150可以包括诸如硬盘驱动器的集成存储器。
在图4中,存储器150中存储的可执行程序指令被描绘为动作识别模块154。存储器150可以进一步以异常确定模块156、通信模块158或训练模块160的形式存储可执行程序指令。动作识别模块154表示当被执行时促使实现图3的动作识别引擎134的程序指令。同样地,异常确定模块156表示当被执行时促使实现图3的异常确定引擎136的程序指令。同样地,通信模块158表示当被执行时促使实现图3的通信引擎138的程序指令。同样地,训练模块160表示当被执行时促使实现图3的训练引擎140的程序指令。
作为进一步的示例,图5描绘了图示由动作确定设备114实现图2中的系统的框图。在图5的示例中,动作确定设备114被示出为包括:存储器162、处理器164和接口166。处理器164通常表示配置成执行在存储器162中存储的程序指令以执行各种指定功能的任何处理器。接口166通常表示使动作确定设备114能够经由链路180与例如(i)支持应用的执行的云100中的资源,以及(ii)识别请求器系统168通信的任何接口。在所图示的示例中,支持应用的执行的云100中的部件是环球网服务器的第一实例170、环球网服务器的第二实例172、环球网服务器的第三实例174、数据库的第一实例176、以及数据库的第二实例178。
存储器162被示出为包括操作系统(OS)182和应用184。OS 182表示当由处理器164执行时用作应用184能够在其上运行的平台的程序的收集。OS的示例包括(但不限于)各种版本的Linux?和微软的Windows?。应用184表示如下程序指令,当其由处理器164执行时用作识别用于响应云计算系统中应用的执行中的异常的动作的应用。应用184当被执行时可以用作使用从识别请求器系统168传送的数据来识别此类动作的服务。响应于对用于致力于解决与由识别请求器系统168设置的特定度量相关联的特定异常的动作的请求,那个服务把用于致力于解决动作的所识别动作返回到请求器系统168。此类服务可以替代地由代理(未示出)提供。
参看图3,动作识别引擎134、异常确定引擎136、通信引擎138、和训练引擎140被描述为硬件和编程的组合。取决于所述实施例,硬件部分可以被实现为处理器164。取决于所述实施例,编程部分可以由处理器OS 182、应用184、或其组合实现。
向回参考图5,云100中的一些部件(诸如,环球网服务器实例170-174)可以被实现为VM。VM可以运行环球网服务器的一个或更多的实例。每个环球网服务器实例可以包括:虚拟化的存储器186、虚拟化的处理器188、和虚拟化接口190。处理器188通常表示配置成执行在虚拟化存储器186中存储的程序指令以执行各种指定功能的任何虚拟化的资源。接口190通常表示使实例170-174经由链路180与支持应用的执行的云100中的其他部件(例如,数据库实例176、178)以及客户端设备110、识别请求器系统168、或动作确定设备114通信的任何虚拟化资源。
存储器186被示出为包括OS 192和应用194。操作系统182表示当由处理器188执行时用作应用194能够在其上运行的平台的程序的收集。操作系统的示例包括(但不限于)各种版本的Linux?和微软的Windows?。应用194表示如下程序指令,当其由处理器164执行时用作可以通过客户端设备110被访问以便实施特定任务的在云计算系统中执行的应用。应用194可以由动作识别设备114访问以便执行在此描述的一些方法。识别请求器系统168可以负责控制应用194的执行。
数据库实例176、178表示数据库中的数据的逻辑和物理的物化(materialization)、维护数据的文件、维护数据的计算机存储器、和计算机数据存储(即,存储器)。数据库176、178可以被视为合作以用于实现单个数据库的多个实例。云100的部件中的每一个可以包括配置成获取和维护与每个部件的性能相关联的所存储度量的监控器(未示出)。此类监控器还可以生成和维护与部件的运行中的异常相关联的数据日志。
图5中的部件通过链路180与彼此交互,所述链路通常表示一个或多个电缆、无线、光纤、或经由电信链路的远程连接、红外链路、射频链路、或提供电子通信的任何其他连接器或系统。链路180可以至少部分包括内联网、互联网、或二者的组合。链路180还可以包括中间代理、路由器、交换机、或用于平衡在应用194的执行上由客户端设备110生成的负载的负载平衡器。
操作:图6到8、11和12是实现用于识别用于致力于解决异常的动作的方法的示例所采取的步骤的示例性流程图。在讨论这些图时,参考了图1-5中的示图以提供上下文的示例。然而,实现方式不限于那些示例。还参考了图9和10中所描绘的示例。再次,此类参考被简单做出以提供上下文的示例。
图6示出了识别用于致力于解决异常的动作的方法的处理流程600。在步骤602,确定一组量化度量是否对应于异常。参考图3,异常确定引擎136可以负责实现步骤602。向前参看图7,用于自动确定一组量化度量是否对应于异常的方法的示例被作为处理流程700示出。
在步骤702,一组度量在时间上被监控。在步骤704,通过把度量样本与预定度量正常行为相比较来确定所监控的度量组中的度量是否正经历非正常的行为。此类度量正常行为可以由异常确定引擎136或另一个适合的系统预先确定。预先确定可以包括从终端用户的角度(例如,对请求108的响应时间)和系统利用率的角度(例如,支持应用的执行的云100中资源的利用率)二者来监控应用。度量正常行为的预先确定可以基于测量应用的执行以及与其相关联的资源的用量的监控器。
在步骤706,确定非正常行为是否对应于异常。步骤706可以通过确定该非正常行为是否满足被分类为异常的特定条件来实现。借助于示例,该非正常行为的统计学显著性可以被计算;然后,基于所计算的统计学显著性确定该非正常行为是否对应于异常。为了确定异常是否‘显著’,可以使用阈值。如果所计算的异常显著性超过阈值,则量化的度量被确定为对应于异常。
统计学显著性可以被使用不同的参数和相应的权重计算。这些参数例如可以包括接下来的任何一个:(i)在支持应用的执行的配置中示出了非正常行为的多个项目;(ii)示出了非正常行为的多个度量;或(iii)与量化度量的正常行为的偏离。处理流程700促进建立用于确定异常的不同水平,并且因此减少错误报警。
将被理解的是:处理流程700是用于自动确定一组量化度量是否对应于异常的方法的非限制性示例。其他的方法在此也被考虑到。例如,可以通过比较从量化度量得出的签名与包括一组“正常”签名的预先确定度量正常行为来确定异常。基于所确立的相似性,可以确定所采样的度量的签名是否对应于异常。用于确立签名之间的相似性的方法的示例在序列号为7.502,971的美国专利中被描述,并且被引入于此以供在这个方面参考。在用于自动确定异常的另一个示例中,每个量化度量被直接比较于相应的预先确定的阈值。如果一定数量的阈值被违反,则异常可以被确定。
继续图6,在步骤604,步骤602的结果被评估以判定处理流程600中的进一步的过程。参考图3,异常确定引擎136可以负责实现步骤604。如果异常被确定,则处理流程600走到步骤608。如果没有异常被确定,则处理流程600结束。可替代地,处理流程600可以顺着闭环606返回到步骤602。然后,步骤602可以被针对另一组量化度量(例如,在特定时间间隔过去之后被量化的度量)执行。
在步骤608,动作被使用所训练的分类器自动识别,以用于致力于解决异常。所训练的分类器把度量组与执行用于致力于解决异常的动作的结果相关。参考图3,动作识别引擎134可以负责实现步骤608。
向前参看图8,用于实现步骤608的方法(即,动作识别)的示例被作为处理流程800示出。在步骤802,特征向量X被使用一组度量计算。特征向量X是异常状态的数字表示,并且被用于评估特定动作A i 解决异常的可能性P,即P(SOLVE|A i , X)。如在此被使用的特征向量可以被看作对应于与异常相关联的一组度量的一组简约的特征表示。把该组度量变换成该组特征被称为特征提取。在此描述的特征提取的示例便于从该组度量提取关于异常的相关信息,以使用简约的表示代替完整大小输入来执行动作识别。
特征向量X可以被使用从度量组形成的签名构造。图9示出了被形成为表格900的签名。表格900包括支持应用的执行的部件类型(例如,服务器和数据库)的列表902。此外,表格900包括每个部件类型的实例的列表904。例如,参考图5,支持应用的执行的云100的资源可以包括环球网服务器的三个实例170、172、174,以及数据库的两个实例176、178。此外,表格900包括度量的列表906。每个部件实例与一个或多个度量相关联。
签名可以被周期性地(诸如,在度量被收集的每个时间间隔)确定。签名可以包括进一步(或不同)的信息(如图9中所示的)。例如,签名可以包括属性向量(或由其构成)。对于每个度量,属性向量包括条目。例如,具有值‘1’的条目被分配给一度量,如果那个度量被确定是:在时间间隔期间其原始值被确定指示异常的关键度量。那个度量被认为是归属的。具有值‘-1’的条目被分配给一度量,如果那个度量被确定是:其原始值被确定不指示异常的关键度量。那个度量被认为是非归属的。具有值‘0’的条目被分配给一度量,如果在那个时间间隔基于模型确定那个度量不指示计算机资源的任何状态,诸如,不指示异常。那个度量被认为与异常状态不相关。另一种类型的签名可以是属性和度量的原始值的组合,其中每个原始值被乘以(‘与(AND)’操作)其属性向量中的相应条目。
表1示出了用于云部件中的异常状态的签名的示例,所述云部件在图5中被示为支持应用的执行。表1列出了三种类型的签名的值(原始值、度量属性、原始值与(AND)度量属性),所述值中的一个或多个可以由动作识别引擎134生成,并且作为量化度量数据144的一部分存储在数据存储142中。原始值列列出了用于原始值签名的每个度量的原始值。度量属性列列出了度量属性签名的值。原始值AND度量属性列列出了原始值AND度量属性签名的值。表1还包括与部件类型相关的数据,以及与特定度量相关联的实例。对于表1中的示例,针对归属的度量,假设有接下来的正常行为:平均处理的查询0.8;平均存储器使用率0.6;平均CPU使用率0.5。
接下来,用于计算特征向量X的示例被图示。如图8中所示的,步骤802可以包括:(i)其中部件类型特征向量X t 被使用该组度量计算的子步骤804,以及(ii)其中实例特征向量X ins 被针对每个部件类型计算的子步骤806。
为了执行子步骤804,即计算部件类型特征向量X t ,接下来的程序可以被使用:
程序1:
FOR j= 1 to N, N是支持应用的部件类型的数量:
{FOR i= 1 to Mj, Mj是与每个部件类型相关的度量的数量:
{COMPUTE AND STORE(计算和存储) 在所有标记为非正常的实例上的与针对所有度量的正常行为的平均偏离;
COMPUTE AND STORE (计算和存储)在所有标记为非正常的实例中的度量的分数;}
}
程序1产生2 x (M1 + M2... + MN)维的向量。在以上表格1的示例中,N(部件类型的数量)是2,即数据库类型和环球网服务器类型;M1(与第一部件类型(即,数据库类型)相关的度量的数量)是1,即‘处理的查询’(注意:度量‘查询’被标记为非归属的);最后,M2(与第二部件类型(即,环球网服务器类型)相关的度量的数量)是2,即存储器使用率和CPU使用率。作为结果的特征向量是6维的。表格2是使用表格1中的签名的部件类型特征向量的示例。
为了执行子步骤806,即计算实例特征向量X ins ,接下来的程序可以被使用:
程序2:
FOR j = 1 to K, K是部件类型中实例的数量:
{FOR i = 1 to L, L是与每个部件类型相关的度量的数量:
{COMPUTE AND STORE 与标记为非正常的实例的每个度量的正常行为的平均偏离;
COMPUTE AND STORE 对于所述实例的每个度量,实例被标记为非正常的度量总数的分数;}
}
程序2被针对每个部件类型重复。每个所生成的向量是 2 x K x L维的向量(假设部件类型的每个实例与相同的度量相关联)。
在以上表格1的示例中,两个实例特征向量可以被计算,一个用于部件类型‘数据库’,以及一个用于部件类型‘环球网服务器’。对于与‘数据库’相关的实例特征向量,K(实例的数量)是2;L(与‘数据库’相关的度量的数量)是1(注意:度量‘查询’被标记为非归属的);作为结果的与‘环球网服务器’相关的特征向量是4维的。表格3是使用表格1中的签名的部件类型‘数据库’的实例类型特征向量的示例。
对于与‘环球网服务器’相关的实例特征向量,K(实例的数量)是3;L(与‘环球网服务器’相关的度量的数量)是2;与‘环球网服务器’相关的实例特征向量是12维的。表格4是针对使用表格1中的签名的部件类型‘环球网服务器’以及其中平均存储器使用率是0.6和平均CPU使用率是0.5的正常行为的实例类型特征向量的示例。
继续图8,在步骤808,动作A i 被从多个动作{A}中选择。依据一些示例,步骤808可以包括步骤810,在此处,动作A i 被从包括至少一个部件类型动作{A t }和至少一个部件实例动作{A ins }的多个动作中选择的。部件类型动作{A t }对应于在云计算系统的部件类型上执行的动作。部件实例动作{A ins }对应于在云计算系统的部件的实例上执行的动作。
如以上所阐述的,每个动作种类可以与相应种类的分类器相关联。例如,部件类型动作{A t }与相应的分类器{h t }相关联;来自部件类型动作{A t }的动作解决特定异常的可能性可以通过使用部件类型特征向量X t 评估其相应的分类器来计算,所述部件类型特征向量X t 被使用与异常相关联的签名计算。部件实例动作{A ins }与相应的分类器{h ins }相关联;来自部件实例动作{A ins }的动作解决特定异常的可能性可以通过使用部件实例特征向量X ins 评估其相应的分类器来计算,所述部件实例特征向量X ins 被使用与异常相关联的签名计算。
在步骤808使用的多个动作可以采用表格(如图10中所述的)的形式被存储。表格1000具有采用动作列表的列1002。该动作列表可以包括动作的列表1004和动作所属的种类的列表1006。在示例中,一个动作种类1008是部件类型上的动作;另一个动作种类1010是部件实例上的动作。每个动作可以与在列1012中所列出的成本V相关联。可以在支持图5中的应用执行的部件上被执行的动作示例的列表在以下的表格5中被给出。
执行动作A i 的成本V i 可以被使用成本函数F计算。成本函数F可以具有接下来的变量中的一个或多个:(a)执行动作A i 的实际货币成本$ i ,(b)执行动作所需的时间T i ,以及(c)采取动作的风险R i (风险例如可以对应于动作导致另一个异常或阻止该异常被解决的概率)。成本函数可以是标准化函数,即在0和1之间取值的函数。用于基于以上的变量(变量被使用最大值标准化)获得执行动作A i 的成本Vi的成本函数F的示例是:
,
其中,w 1 , w 2 , w 3 是与相应的变量相关联的权重。与动作相关联的成本可以被用于计算与动作相关联的分数,以用于识别所述动作是否适合用于致力于解决异常(如下面相对于处理流程800的步骤814进一步阐述的)。
继续图8,在步骤812,特定动作A i 解决异常的可能性P(即,P(SOLVE|A i , X)被使用(i)与动作A i 相关联的所训练的分类器h A 以及(ii)如以上相对于步骤802描述的那样被计算的特征向量X来评估。
通常地,所训练的分类器h A 是一组指令和数据,该组指令和数据被配置成基于训练数据组{T}确定特定动作A是否可以致力于解决对应于一组特定度量(其可以由签名S表征)的特定异常。该组特定度量通常是未知的,而训练数据组{T}包含已知的项目,例如,已知解决或未解决所观测的异常签名的动作。换言之,分类器h A 便于基于之前的观测识别哪个动作适合致力于解决新的异常。在此的一些示例中,如以下相对于图11和12讨论的,分类器被通过下述方式训练:(i)获得所观测的异常签名{S obs },(ii)把所观测的异常签名{S obs }转变成采用特征向量{X obs }形式的特征组,以及(iii)学习特征向量{X obs }和动作{A}之间的映射。
用于动作A的由所训练的分类器h A 致力于解决的分类问题可以被表述如下:在给定包含所观测特征向量{X obs }的训练数据组{T}的情形下,产生规则(即,分类器)h A ,该规则可以被针对任何可能的新的特征向量X评估,并且使得与执行用于解决与新的特征向量X相关联的异常的动作A相关联的结果Y(即,被解决了或未被解决),特别地
尽可能接近真实的结果Y,即会是通过在与新的特征向量X相关联的异常下、在支持应用的执行的云计算系统的资源上执行动作A而观测到的结果。将别理解的是:对于训练数据组{T},“真实”结果Y是已知的,但将未必匹配其在样本中的近似值
特定动作A解决与新的特征向量X相关联的异常的可能性P(即,P(SOLVE|A, X))可以例如基于h A 所基于的上述近似值的质量来评估。将被理解的是:这个可能性如何被评估取决于所使用的分类器的类型(如下面进一步说明的)。
在此的方法和系统中所使用的分类器h A 可以是不同类型分类器中的一个或组合。例如,分离器h A 可以是线性分类器。线性分类器h A lin 基于与异常相关联的特征向量X中的值的线性组合值而把动作A分类为解决或不解决异常。此外,分类器h A 可以是贝叶斯分类器h A bay ,其基于假设:与异常相关联的度量组中的度量中的至少一些是独立的,并且因此应用贝叶斯定理以用于获得可能性P(SOLVE|A, X)。此外,分类器h A 可以是贝叶斯网络分类器h A BayNet ,其可以被视为:相互连接以用于提供联合概率分布P(SOLVE|A, X)的贝叶斯分类器的收集。贝叶斯和贝叶斯网络分类器的应用(包括训练和评估)例如在“专家系统和概率网络模型(Expert Systems and Probabilistic Network Models)”(Castillo等,斯普林格(Springer),1996年12月)中说明。
分类器h A 的进一步的示例是K-最近邻居(K-NN)分类器h A KNN ,其使用距离度量(诸如,欧几里得距离)来把新的特征向量X与来自训练数据组{T}的所观测的特征向量X obs 相关联。用于动作A的K-NN分类器可以被评估,例如通过评估训练组{T}中的特征向量X的K-NN邻居的分数,来获得可能性P(SOLVE|A, X)。K-NN分类器的应用(包括训练和评估)例如在“最近邻居:模式分类技术(Nearest Neighbor: Pattern Classification Techniques)”(Dasarathy等,IEEE计算机学会,1990年12月)中说明。
分类器h A 的又一个的示例是支持向量机(SVM)分类器,其基于种类(即,解决和不解决)之间的安全隔离的原则、采用使得种类之间的距离被最大化而错误分类被与特征向量X和其所归属种类之间的距离成比例地惩罚的方式。SVM分类器的应用(包括训练和评估)例如在“统计学习理论(Statistical Learning Theory)”(Vapnik等,Wiley-Interscience,1998年9月)中说明。SVM分类器可以被使用类似的方法评估以用于获得可能性P(SOLVE|A, X),所述类似的方法例如在“用于支持向量机的概率输出以及与正则可能性方法的比较(Probabilistic outputs for support vector machines and Comparisons to Regularized Likelihood Methods)”(Platt 等,“大间隔分类器的进展(Advances in Large Margin Classifiers)”中出版,MIT出版社,2000年10月)中描述。
将被理解的是:如在此描述的可以被用于自动识别动作的分类器不限于以上的示例。此外,动作识别引擎可以使用不同类型的分类器或其组合以用于执行其任务。
由动作识别引擎134使用的所训练的分类器可以被训练引擎140训练。可替代地,类似的训练引擎可以在与系统132不同的系统中被实现。此类系统可以把与所训练的分类器相关的数据发送到系统132,使得动作识别引擎134可以执行其功能。用于构造所训练的分类器的示例被相对于图11和11说明。
图11描绘了学习用于致力于解决可能影响云计算系统中应用的执行的异常的动作的处理流程1100。参考图3,训练引擎140可以负责实现处理流程1100中的步骤。在步骤1102,应用的正常行为被学习。例如,应用可以被从终端用户的角度和资源利用率的角度二者来监控。所监控的数据可以被分析以自动生成行为基线。可替代地,例如行为基线可以例如基于服务水平目标(SLO)或服务水平协议(SLA)来预设。
在步骤1104,影响应用的执行的异常可以被基于与正常行为的偏离来学习。此类异常可以被使用自动化方法(如以上相对于图7所描述的)来学习。与异常相关联的签名可以被生成(如以上描述的)。可替代地或除此之外,此类异常可以通过(自动地或由人类管理者)在生产中、在沙箱环境中、或使用工作负载的仿真或整个应用的仿真观测应用来学习。此外,此类异常可以从被确定为影响在其部件方面与当前应用相似的另一个已知应用的异常学习。
在步骤1106,可以学习用于致力于解决异常的动作。此类动作可以被使用自动生成的数据、手工生成的数据、或二者的组合来学习。在示例中,动作被使用自动化程序学习,其中用于致力于解决异常的动作通过顺序地测试从用于在云计算系统中执行应用的多个动作中选择的动作而被自动确定。这些动作可以被使用工作负载生成器测试,类似于在一些自动化性能和测试产品(例如,HP LoadRunner,惠普,帕洛阿尔托(Palo Alto)(加州),美国)中那样。可替代地,或除此之外,此类动作可以通过(自动地或由人类管理者)在生产中、沙箱环境中、或应用执行的仿真中正在被执行的应用上观测动作的影响来学习。此外,此类动作可以被从在其部件方面与当前应用相似的其他已知应用学习。
依据一些示例,所学习的动作可以被存储在把异常与动作相关联的知识库中。知识库可以由训练引擎140管理并且形成数据存储142中动作数据146的一部分。知识库还可以被配置成允许手工添加新的动作[即,预设动作]以及把它们链接到不同的异常。知识库还可以便于基于其他应用的与所记录的异常/动作对的架构相似性控制其他应用。从而,可以改进在此所描述的用于新的应用的学习过程。
在步骤1108,训练数据组可以基于在步骤1104、1106学习的异常和动作来构建。例如,可以构建三元组{S obs , A test , Y}。S obs 是所观测异常的签名;A test 是所测试的动作;Y 是尝试使用A test 致力于解决与 S obs 相关联的异常的结果。与以上相对于图8所描述的签名相似,所观测的签名S obs 可以被用于计算不同种类的特征向量X,诸如,部件实例特征向量X t 和部件类型向量X ins 。
在步骤1110,分类器基于在步骤1108构建的训练数据组被构造(即,被训练)。图12描绘了图示用于执行步骤1110的方法的示例的处理流程1200。在步骤1202,获得如以上相对于步骤1108描述的训练数据组。在步骤1204,对于训练数据组中的样本,使用相应所观测的签名S obs 计算部件类型向量X t 。部件类型向量X t 可以被使用以上相对于图8所描述的程序1来计算。在步骤1206,对于训练数据组中的样本,使用相应所观测的签名S obs 计算部件实例向量X ins 。部件类型向量X ins 可以被使用以上相对于图8所描述的程序2来计算。
然后,分类器可以使用所计算的特征向量和关于动作和结果的训练组中进一步的数据被构造(即,被训练)。例如,在步骤1208,用于部件类型上的动作的分类器h t 可以被使用与关于此类动作的训练数据组中的样本来训练;在步骤1210,用于部件实例上的动作的分类器h ins 可以被使用与关于此类动作的训练数据组中的样本来训练。所训练的分类器满足提供一规则的条件,所述规则可以被针对新的特征向量评估,并且使得归因于执行用于解决与新的特征向量相关联的异常的动作A的结果Y(即,解决或未解决)尽可能接近真实结果R。将被理解的是:其中分类器被构造的方式取决于分类器的类型。关于训练不同类型分类器的细节例如在以上相对于不同的分类器的示例所引用的参考文献中说明的。
继续图8,在步骤814,对于动作A i ,分数SCR i 被计算。在一些示例中,分数SCR i 基于(i)动作Ai解决异常的可能性,以及(ii)执行动作Ai的成本。变量(i)(可能性)可以如以上相对于的步骤812所阐述的一样被计算以便获得P(SOLVE|A, X);变量(ii)(成本)可以如以上相对于成本函数F一样被计算以便获得成本Vi,其值可以被标准化。在示例中,分数SCRi 可以被如下计算:
SCR i =P(SOLVE|A, X) x (1-Vi ),
其中Vi 被标准化。以上分数SCRi 的示例便于从多个动作 {A} 中识别哪个动作具有以最小的成本解决异常的最高的可能性。将被理解的是:SCRi 可以被使用其他方法计算。例如,用于计算SCRi的变量可以被不同地加权,或其他因素可以被包括作为所述分数的变量(例如,与实现动作的提供者相关联的优选变量)。
在步骤816,评估执行处理流程800所需的所有动作是否依据前面的步骤被评估。例如,可以评估多个动作{A}中的所有动作。可替代地,可以仅评估多个动作{A}中的一些动作。要被评估的动作可以依赖于正在被解决的异常的类型或其他因素来选择。如果动作评估完成,则处理流程800走到步骤818。如果一些动作仍然要被评估,则处理流程800顺着闭环820返回到步骤808;然后步骤808-814被针对多个动作{A}中的另一个动作Ai 执行。
依据一些示例,可以确定致力于解决异常需要训练分类器。例如,如果在步骤816所计算的可能性P对于所有评估的动作来说太低,则很可能所评估的动作不适合致力于解决异常和/或所述分类器需要进一步训练数据以便识别适合致力于解决异常的动作。如果此类确定发生,则系统132可以通过访问新的训练数据和/或确定用于致力于解决异常的进一步的动作而自动训练分类器。此类训练数据可以被向另一个系统或管理者请求,或通过在不同条件下测试和监控应用的执行而被自动获得。此类进一步的动作可以被使用知识库或使用自动动作学习方法(如以上所描述的)来发现。
在步骤818,来自多个动作中的动作被基于所计算的分数识别。例如,动作可以通过选择具有使用上述分数等式计算的较高分数SCR的动作而被识别为对应于具有以最小的成本解决异常的最高的可能性的多个动作中的动作。在其他示例中,步骤818包括对动作分级。例如,多个动作{A}中的动作可以被依据所计算的分数分级。分数低于所选择阈值的动作可以被丢弃。所选择阈值可以被预设或可以例如基于平均分数值而被动态设置。分数最高的动作可以被自动应用以致力于解决异常。此外,动作可以在监控应用执行的同时被依据所述分级顺序地测试,以便自动识别解决异常的动作。在一些示例中,系统132可以促使动作的分级被推荐到管理者,该管理者然后可以决定哪个动作应被应用以致力于解决异常。
结论: 图2-5帮助描绘各种示例的体系结构、功能和操作。特别地,图3-5描绘了各种物理和逻辑部件。在图3-5中所图示的各种部件至少部分被定义为程序、编程或程序指令。每个此类部件、其部分、或其各种组合可以完全或部分表示:包括一个或多个可执行指令以实现任何指定的(一个或多个)逻辑功能的模块、程序段或部分代码。每个部件或其各种组合可以表示:实现指定的(一个或多个)逻辑功能的电路或多个互连电路。
实施例可以在任何的计算机可读介质中被实现,以便由指令执行系统(诸如,基于计算机/处理器的系统或ASIC(专用集成电路)或能够从计算机可读介质提取或获得逻辑并执行包含在其中的指令的其他系统)使用或与其一起使用。“计算机可读介质”可以是可以包含、存储、或保存程序和数据以便由指令执行系统使用或与其一起使用的任何介质。计算机可读介质可以包括诸如像电子、磁、光学、电磁或半导体介质的许多物理介质中的任何一个。适合的计算机可读介质的更具体地示例包括(但不限于)便携式计算机磁盘(诸如,软盘或硬盘驱动器)、随机存取存储器(RAM)、只读存储器(ROM)、可擦写可编程只读存储器、或便携式光盘。
尽管图6到8、11和12中的流程图示出了特定的执行次序,但执行次序可以与所描绘的执行次序不同。例如,两个或更多块的执行次序可以被相对于示出的次序扰乱。此外,连续示出的两个或更多的块可以被并发或部分并发地执行。所有此类变化在本发明的范围内。
在之前的描述中,众多的细节被阐述以提供对在此公开示例的理解。然而,本领域的技术人员将理解所述示例可以在没有这些细节的情形下被实施。尽管有限数量的示例已被公开,但本领域的技术人员将从中认识到众多的修改和变化。旨在所附的权利要求覆盖落在所公开的示例的真实精神和范围内的此类修改和变化。
Claims (15)
1.一种由物理计算系统执行的方法,所述方法包括:
确定一组量化度量是否对应于异常,所述度量组与云计算系统(100)中的应用的执行相关联;以及
当确定该组量化度量对应于异常时,使用至少一个所训练的分类器自动识别用于致力于解决所述异常的动作,其中至少一个所训练的分类器把度量组与执行用于致力于解决异常的动作的结果相关。
2.如权利要求1所述的方法,其中识别用于致力于解决异常的动作包括:从包括至少一个部件类型动作和至少一个部件实例动作的多个动作中选择动作,
部件类型动作对应于在云计算系统(100)的部件类型上执行的动作,以及
部件实例动作对应于在云计算系统(100)的部件实例上执行的动作。
3.如权利要求2所述的方法,其中至少一个所训练的分类器包括:至少一个所训练的部件类型分类器和至少一个所训练的部件实例分类器,
部件类型分类器用于计算部件类型动作解决异常的可能性,以及
部件实例分类器用于计算部件类型动作解决异常的可能性。
4.如权利要求1所述的方法,其中自动识别包括:使用至少一个所训练的分类器计算执行用于致力于解决异常的动作的结果的可能性。
5.如权利要求4所述的方法,其中:
识别用于致力于解决异常的动作包括从多个动作中选择动作;
多个动作中的每个动作与成本值相关联;以及
所选择的动作对应于具有以最小的成本解决异常的最高的可能性的多个动作中的动作。
6.如权利要求1所述的方法,其中至少一个所训练的分类器是从包括K最近邻居分类器、支持向量机分类器以及贝叶斯网络分类器的组中选择的分类器。
7.如权利要求1所述的方法,进一步包括:
从该组量化度量生成特征向量;以及
使用特征向量评估至少一个所训练的分类器,以便把度量组与执行用于致力于解决异常的动作的结果相关。
8.如权利要求1所述的方法,进一步包括:
确定致力于解决异常是否需要训练分类器;以及
当确定异常需要训练分类器时,自动训练分类器。
9.如权利要求1所述的方法,进一步包括:在云计算系统中的应用的执行上应用所识别的动作。
10.如权利要求1所述的方法,进一步包括:向用户推荐所识别的动作。
11.一种识别用于响应云计算系统(100)中的应用的执行中的异常的动作的系统(132),所述系统包括动作识别引擎(134),其中:
动作识别引擎(134)用于使用至少一个所训练的分类器自动识别用于响应云计算系统中的应用的执行中的异常的动作,
至少一个所训练的分类器把度量与执行用于致力于解决异常的动作的结果相关。
12.如权利要求11所述的系统(132),进一步包括异常确定引擎(136),用以自动确定该组量化度量是否与异常相关联,
当所述确定引擎确定该组量化度量与异常相关联时,动作识别引擎(134)用于识别用于响应异常的动作。
13.如权利要求11所述的系统(132),进一步包括通信引擎(138),用以把所选择的动作传送到客户端计算机系统(168)。
14.如权利要求11所述的系统,其中动作识别引擎(134)用于在如下基础之上执行自动识别:
至少一个所训练的部件类型分类器和至少一个所训练的部件实例分类器;
部件类型分类器与至少一个部件类型动作相关联;以及
部件实例分类器与至少一个部件实例动作相关联。
15.一种包含指令的计算机可读介质(162),当所述指令被执行时,实现识别用于响应应用的执行中的异常的动作的方法,所述方法包括:
从能够在用于应用的执行的云计算系统(100)上被执行的多个动作中自动识别动作;
所述动作用于响应云计算系统中的应用的执行中的异常,以及
所述自动识别被使用与异常相关联的至少一个量化度量并且基于至少一个所训练的分类器来执行,所述至少一个所训练的分类器把至少一个量化度量与执行用于致力于解决异常的动作的结果相关。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2011/055614 WO2013055311A1 (en) | 2011-10-10 | 2011-10-10 | Methods and systems for identifying action for responding to anomaly in cloud computing system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103988175A true CN103988175A (zh) | 2014-08-13 |
Family
ID=48082190
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201180075414.5A Pending CN103988175A (zh) | 2011-10-10 | 2011-10-10 | 识别用于响应云计算系统中的异常的动作的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10599506B2 (zh) |
EP (1) | EP2766809A4 (zh) |
CN (1) | CN103988175A (zh) |
WO (1) | WO2013055311A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109726090A (zh) * | 2017-10-31 | 2019-05-07 | 慧与发展有限责任合伙企业 | 计算系统中性能影响缺陷的识别 |
CN111527478A (zh) * | 2017-10-13 | 2020-08-11 | 华为技术有限公司 | 云设备协同实时用户体验和性能异常检测的系统和方法 |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9565275B2 (en) | 2012-02-09 | 2017-02-07 | Rockwell Automation Technologies, Inc. | Transformation of industrial data into useful cloud information |
US9477936B2 (en) | 2012-02-09 | 2016-10-25 | Rockwell Automation Technologies, Inc. | Cloud-based operator interface for industrial automation |
US9989958B2 (en) | 2013-05-09 | 2018-06-05 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment |
US9786197B2 (en) | 2013-05-09 | 2017-10-10 | Rockwell Automation Technologies, Inc. | Using cloud-based data to facilitate enhancing performance in connection with an industrial automation system |
US10026049B2 (en) | 2013-05-09 | 2018-07-17 | Rockwell Automation Technologies, Inc. | Risk assessment for industrial systems using big data |
US9438648B2 (en) | 2013-05-09 | 2016-09-06 | Rockwell Automation Technologies, Inc. | Industrial data analytics in a cloud platform |
US9709978B2 (en) * | 2013-05-09 | 2017-07-18 | Rockwell Automation Technologies, Inc. | Using cloud-based data for virtualization of an industrial automation environment with information overlays |
US9703902B2 (en) * | 2013-05-09 | 2017-07-11 | Rockwell Automation Technologies, Inc. | Using cloud-based data for industrial simulation |
US9300547B2 (en) * | 2013-11-19 | 2016-03-29 | International Business Machines Corporation | Modification of cloud application service levels based upon document consumption |
WO2015191394A1 (en) * | 2014-06-09 | 2015-12-17 | Northrop Grumman Systems Corporation | System and method for real-time detection of anomalies in database usage |
US9813432B2 (en) * | 2015-01-23 | 2017-11-07 | Cisco Technology, Inc. | Tracking anomaly propagation at the network level |
US10496061B2 (en) | 2015-03-16 | 2019-12-03 | Rockwell Automation Technologies, Inc. | Modeling of an industrial automation environment in the cloud |
US11513477B2 (en) | 2015-03-16 | 2022-11-29 | Rockwell Automation Technologies, Inc. | Cloud-based industrial controller |
US11042131B2 (en) | 2015-03-16 | 2021-06-22 | Rockwell Automation Technologies, Inc. | Backup of an industrial automation plant in the cloud |
US11243505B2 (en) | 2015-03-16 | 2022-02-08 | Rockwell Automation Technologies, Inc. | Cloud-based analytics for industrial automation |
US10037239B2 (en) * | 2016-03-28 | 2018-07-31 | Wlpro Limited | System and method for classifying defects occurring in a software environment |
US11120343B2 (en) * | 2016-05-11 | 2021-09-14 | Cisco Technology, Inc. | Intelligent anomaly identification and alerting system based on smart ranking of anomalies |
US10635519B1 (en) * | 2017-11-30 | 2020-04-28 | Uptake Technologies, Inc. | Systems and methods for detecting and remedying software anomalies |
US10671812B2 (en) * | 2018-03-22 | 2020-06-02 | Equifax Inc. | Text classification using automatically generated seed data |
US11613009B2 (en) * | 2018-08-07 | 2023-03-28 | Frank's International, Llc | Connection analyzed make-up systems and methods |
US10684909B1 (en) * | 2018-08-21 | 2020-06-16 | United States Of America As Represented By Secretary Of The Navy | Anomaly detection for preserving the availability of virtualized cloud services |
US11126493B2 (en) * | 2018-11-25 | 2021-09-21 | Aloke Guha | Methods and systems for autonomous cloud application operations |
US12095639B2 (en) | 2019-10-23 | 2024-09-17 | Aryaka Networks, Inc. | Method, device and system for improving performance of point anomaly based data pattern change detection associated with network entity features in a cloud-based application acceleration as a service environment |
US12088473B2 (en) | 2019-10-23 | 2024-09-10 | Aryaka Networks, Inc. | Method, device and system for enhancing predictive classification of anomalous events in a cloud-based application acceleration as a service environment |
US11126492B1 (en) | 2019-11-05 | 2021-09-21 | Express Scripts Stategic Development, Inc. | Systems and methods for anomaly analysis and outage avoidance in enterprise computing systems |
US11521086B2 (en) * | 2020-06-02 | 2022-12-06 | Bank Of America Corporation | Software navigation crash prediction system |
US11816080B2 (en) | 2021-06-29 | 2023-11-14 | International Business Machines Corporation | Severity computation of anomalies in information technology operations |
US11611466B1 (en) * | 2022-05-16 | 2023-03-21 | Microsoft Technology Licensing, Llc | Impact-aware mitigation for computer networks |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5463768A (en) * | 1994-03-17 | 1995-10-31 | General Electric Company | Method and system for analyzing error logs for diagnostics |
US6898737B2 (en) * | 2001-05-24 | 2005-05-24 | Microsoft Corporation | Automatic classification of event data |
US7194445B2 (en) | 2002-09-20 | 2007-03-20 | Lenovo (Singapore) Pte. Ltd. | Adaptive problem determination and recovery in a computer system |
US7356518B2 (en) * | 2003-08-27 | 2008-04-08 | Icosystem Corporation | Methods and systems for multi-participant interactive evolutionary computing |
JP3922375B2 (ja) * | 2004-01-30 | 2007-05-30 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 異常検出システム及びその方法 |
US7747551B2 (en) * | 2007-02-21 | 2010-06-29 | Neurovista Corporation | Reduction of classification error rates and monitoring system using an artificial class |
US8127412B2 (en) * | 2007-03-30 | 2012-03-06 | Cisco Technology, Inc. | Network context triggers for activating virtualized computer applications |
US7577550B2 (en) * | 2007-04-30 | 2009-08-18 | Hewlett-Packard Development Company, L.P. | System and method for detecting performance anomalies in a computing system |
US8065243B2 (en) * | 2008-04-18 | 2011-11-22 | Air Liquide Large Industries U.S. Lp | Optimizing operations of a hydrogen pipeline system |
KR100951852B1 (ko) | 2008-06-17 | 2010-04-12 | 한국전자통신연구원 | 응용 프로그램 비정상행위 차단 장치 및 방법 |
US8332825B2 (en) | 2008-06-26 | 2012-12-11 | Microsoft Corporation | Dynamically monitoring application behavior |
US8626459B2 (en) * | 2008-09-25 | 2014-01-07 | The Regents Of The University Of California | Defect detection in objects using statistical approaches |
US8069242B2 (en) | 2008-11-14 | 2011-11-29 | Cisco Technology, Inc. | System, method, and software for integrating cloud computing systems |
US20110060895A1 (en) | 2009-09-09 | 2011-03-10 | Neal Solomon | System and methods for generating and organizing modular program code components |
US20110087515A1 (en) * | 2009-10-08 | 2011-04-14 | Miller Bradford W | Cognitive interactive mission planning system and method |
US7996723B2 (en) | 2009-12-22 | 2011-08-09 | Xerox Corporation | Continuous, automated discovery of bugs in released software |
US8024611B1 (en) | 2010-02-26 | 2011-09-20 | Microsoft Corporation | Automated learning of failure recovery policies |
CN101887392A (zh) | 2010-07-06 | 2010-11-17 | 中兴通讯股份有限公司 | 一种软件系统运行稳定性测试方法及装置 |
EP2638384A4 (en) * | 2010-11-12 | 2017-04-19 | 3M Innovative Properties Company | Rapid processing and detection of non-uniformities in web-based materials |
-
2011
- 2011-10-10 US US14/350,639 patent/US10599506B2/en active Active
- 2011-10-10 CN CN201180075414.5A patent/CN103988175A/zh active Pending
- 2011-10-10 WO PCT/US2011/055614 patent/WO2013055311A1/en active Application Filing
- 2011-10-10 EP EP11873859.0A patent/EP2766809A4/en not_active Ceased
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111527478A (zh) * | 2017-10-13 | 2020-08-11 | 华为技术有限公司 | 云设备协同实时用户体验和性能异常检测的系统和方法 |
US11321210B2 (en) | 2017-10-13 | 2022-05-03 | Huawei Technologies Co., Ltd. | System and method for cloud-device collaborative real-time user experience and performance abnormality detection |
CN111527478B (zh) * | 2017-10-13 | 2022-08-09 | 华为技术有限公司 | 云设备协同实时用户体验和性能异常检测的系统和方法 |
CN109726090A (zh) * | 2017-10-31 | 2019-05-07 | 慧与发展有限责任合伙企业 | 计算系统中性能影响缺陷的识别 |
Also Published As
Publication number | Publication date |
---|---|
EP2766809A1 (en) | 2014-08-20 |
US10599506B2 (en) | 2020-03-24 |
EP2766809A4 (en) | 2015-08-05 |
WO2013055311A1 (en) | 2013-04-18 |
US20140372347A1 (en) | 2014-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10599506B2 (en) | Methods and systems for identifying action for responding to anomaly in cloud computing system | |
US10311356B2 (en) | Unsupervised behavior learning system and method for predicting performance anomalies in distributed computing infrastructures | |
US20200265119A1 (en) | Site-specific anomaly detection | |
CN105488539B (zh) | 分类模型的生成方法及装置、系统容量的预估方法及装置 | |
US11860721B2 (en) | Utilizing automatic labelling, prioritizing, and root cause analysis machine learning models and dependency graphs to determine recommendations for software products | |
KR20220114986A (ko) | 가상 네트워크 관리를 위한 머신 러닝 기반 vnf 이상 탐지 시스템 및 방법 | |
US11550707B2 (en) | Systems and methods for generating and executing a test case plan for a software product | |
US11106562B2 (en) | System and method for detecting anomalies based on feature signature of task workflows | |
EP3586275B1 (en) | Method and system for fault localization in a cloud environment | |
AU2022259730B2 (en) | Utilizing machine learning models to determine customer care actions for telecommunications network providers | |
US20210365762A1 (en) | Detecting behavior patterns utilizing machine learning model trained with multi-modal time series analysis of diagnostic data | |
Davis et al. | Failuresim: a system for predicting hardware failures in cloud data centers using neural networks | |
JP2021144401A (ja) | 制御プログラム、制御方法および制御装置 | |
US11906575B2 (en) | Electrical power analyzer for large and small scale devices for environmental and ecological optimization | |
Ahmed et al. | Automated diagnostic of virtualized service performance degradation | |
WO2024118188A1 (en) | Computer application error root cause diagnostic tool | |
US20230367774A1 (en) | Pattern identification in structured event data | |
US20240168857A1 (en) | Utilizing digital twins for data-driven risk identification and root cause analysis of a distributed and heterogeneous system | |
WO2023139510A1 (en) | Systems and methods for detecting drift | |
US11757736B2 (en) | Prescriptive analytics for network services | |
Mukherjee et al. | Detecting Software Anomalies Using Spectrograms and Convolutional Neural Network | |
Bhattacharyya et al. | Semantic-aware online workload characterization and consolidation | |
CN115552380A (zh) | 性能事件故障排除系统 | |
Zou et al. | Online prediction of server crash based on running data | |
EP4332777A1 (en) | Testing and updating a machine learning model and test data |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140813 |