CN113454604A - 预测性系统修复 - Google Patents
预测性系统修复 Download PDFInfo
- Publication number
- CN113454604A CN113454604A CN202080010869.8A CN202080010869A CN113454604A CN 113454604 A CN113454604 A CN 113454604A CN 202080010869 A CN202080010869 A CN 202080010869A CN 113454604 A CN113454604 A CN 113454604A
- Authority
- CN
- China
- Prior art keywords
- problematic
- repair
- repair action
- behavior
- system behavior
- 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
- 230000008439 repair process Effects 0.000 title claims abstract description 218
- 230000009471 action Effects 0.000 claims abstract description 217
- 230000006399 behavior Effects 0.000 claims abstract description 198
- 238000000034 method Methods 0.000 claims abstract description 33
- 230000004044 response Effects 0.000 claims abstract description 14
- 238000010801 machine learning Methods 0.000 claims description 61
- 230000001932 seasonal effect Effects 0.000 claims description 18
- 238000012549 training Methods 0.000 claims description 12
- 238000012544 monitoring process Methods 0.000 claims description 8
- 238000004140 cleaning Methods 0.000 claims description 3
- 230000003247 decreasing effect Effects 0.000 claims 1
- 238000004891 communication Methods 0.000 description 22
- 238000005067 remediation Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000000694 effects Effects 0.000 description 6
- 238000013500 data storage Methods 0.000 description 5
- 238000005538 encapsulation Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000000246 remedial effect Effects 0.000 description 5
- 230000007423 decrease Effects 0.000 description 4
- 230000002787 reinforcement Effects 0.000 description 4
- 239000013598 vector Substances 0.000 description 4
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 3
- 238000013459 approach Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000002955 isolation Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 229920006395 saturated elastomer Polymers 0.000 description 3
- 235000008113 selfheal Nutrition 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 229910052802 copper Inorganic materials 0.000 description 2
- 239000010949 copper Substances 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000013499 data model Methods 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000013307 optical fiber Substances 0.000 description 2
- 230000004043 responsiveness Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 208000024891 symptom Diseases 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000007621 cluster analysis Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000011010 flushing procedure Methods 0.000 description 1
- 230000003862 health status Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003064 k means clustering Methods 0.000 description 1
- 238000002372 labelling Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 210000002569 neuron Anatomy 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3447—Performance evaluation by modeling
-
- 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/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B62—LAND VEHICLES FOR TRAVELLING OTHERWISE THAN ON RAILS
- B62B—HAND-PROPELLED VEHICLES, e.g. HAND CARTS OR PERAMBULATORS; SLEDGES
- B62B3/00—Hand carts having more than one axis carrying transport wheels; Steering devices therefor; Equipment therefor
- B62B3/14—Hand carts having more than one axis carrying transport wheels; Steering devices therefor; Equipment therefor characterised by provisions for nesting or stacking, e.g. shopping trolleys
- B62B3/1404—Means for facilitating stowing or transporting of the trolleys; Antitheft arrangements
-
- 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/0727—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 storage system, e.g. in a DASD or network based storage system
-
- 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
-
- 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/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/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3442—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for planning or managing the needed capacity
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3452—Performance evaluation by statistical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/217—Database tuning
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J50/00—Circuit arrangements or systems for wireless supply or distribution of electric power
- H02J50/10—Circuit arrangements or systems for wireless supply or distribution of electric power using inductive coupling
- H02J50/12—Circuit arrangements or systems for wireless supply or distribution of electric power using inductive coupling of the resonant type
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J50/00—Circuit arrangements or systems for wireless supply or distribution of electric power
- H02J50/80—Circuit arrangements or systems for wireless supply or distribution of electric power involving the exchange of data, concerning supply or distribution of electric power, between transmitting devices and receiving devices
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J7/00—Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
- H02J7/0042—Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries characterised by the mechanical construction
-
- H—ELECTRICITY
- H02—GENERATION; CONVERSION OR DISTRIBUTION OF ELECTRIC POWER
- H02J—CIRCUIT ARRANGEMENTS OR SYSTEMS FOR SUPPLYING OR DISTRIBUTING ELECTRIC POWER; SYSTEMS FOR STORING ELECTRIC ENERGY
- H02J7/00—Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries
- H02J7/02—Circuit arrangements for charging or depolarising batteries or for supplying loads from batteries for charging batteries from ac mains by converters
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/80—Database-specific techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/10—Machine learning using kernel methods, e.g. support vector machines [SVM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/048—Fuzzy inferencing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Bioinformatics & Computational Biology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Power Engineering (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Probability & Statistics with Applications (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computational Linguistics (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Mechanical Engineering (AREA)
- Transportation (AREA)
- Combustion & Propulsion (AREA)
- Chemical & Material Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
Abstract
公开了用于预测性系统修复的技术。基于与一个或多个系统选择的修复动作对系统(例如,数据库系统)中的一个或多个有问题的系统行为的应用相关联的属性,系统确定截至一个或多个未来时间,修复动作对特定有问题的系统行为的一个或多个未来应用的预测有效性。系统确定修复动作的一个或多个未来应用的预测有效性是正面的,但不满足性能标准。响应于确定预测有效性是正面的但不满足性能标准,系统生成与预测有效性不满足性能标准对应的通知。系统将修复动作应用到特定有问题的系统行为,尽管已经确定预测有效性不满足一个或多个性能标准。
Description
技术领域
本公开涉及管理计算机硬件和/或在硬件上运行的软件的系统。
背景技术
计算机硬件和/或在硬件上运行的软件的系统(在下文中称为“计算机系统”,例如,数据库系统、虚拟机、集群、分布式系统和/或其它类型的计算机系统或其组合)受制于各种有问题的(problematic)系统行为。一般而言,有问题的系统行为是影响对计算机系统和/或由计算机系统支持的服务的访问、由计算机系统存储的数据的数据完整性、计算机系统的响应性和/或计算机系统的任何其它性能特性或其组合的任何类型的行为。无问题的(non-problematic)系统行为对应于其中所讨论的(一个或多个)部件按预期工作的系统状态。有问题的系统行为指示计算机系统的一个或多个部件例如由于对计算机系统的变化或非期望的需求或者由于计算机系统的部件之间的变化或非期望的交互而导致处于降级和/或非工作状态。例如,有问题的系统行为可以指示计算机系统的一个或多个部件已经发生故障、显示即将发生故障的症状,和/或未按预期执行。有问题的系统行为的示例可以包括但不限于:带宽饱和;响应时间慢;高处理器利用;低存储空间(例如,盘空间)可用性;每个时间单位(例如,每秒)异常高的请求和/或事务率;每个事务的处理时间慢;等待状态花费的时间(例如,输入/输出等待时间、处理器等待时间等)异常长;和/或可以被质化或量化为有问题的任何其它类型的系统行为,或其任何组合。
各种修复动作可用于解决有问题的系统行为。修复动作的示例包括分配更多资源、应用软件补丁、清理高速缓存或重新启动计算机系统。在一些情况下,应用修复动作可能只是暂时解决有问题的系统行为。有问题的系统行为将来可能再现。如果有问题的系统行为随着时间的推移而恶化,那么适用的修复动作可能会随着时间的推移而变得相应地不那么有效。
本部分中描述的方法是可以采用的方法,但不一定是先前已经构思或采用的方法。因此,除非另有说明,否则不应认为本部分中描述的任何方法仅仅因为它们被包含在本部分中就有资格作为现有技术。
附图说明
在附图的图中,实施例通过示例的方式而不是限制的方式示出。应当注意的是,在本公开中对“一”或“一个”实施例的引用不一定是指同一实施例,并且它们意味着至少一个实施例。在附图中:
图1图示了根据一个或多个实施例的系统;
图2A-图2B图示了根据一个或多个实施例的用于预测性系统修复的一组操作;
图3图示了根据一个或多个实施例的示例;以及
图4示出了图示根据一个或多个实施例的计算机系统的框图。
具体实施方式
在以下描述中,出于解释的目的,阐述了许多具体细节以便提供透彻的理解。可以在没有这些具体细节的情况下实践一个或多个实施例。在一个实施例中描述的特征可以与在不同的实施例中描述的特征组合。在一些示例中,参考框图形式描述众所周知的结构和设备,以避免不必要地模糊本发明。
1.总体概述
2.体系架构概述
3.预测性系统修复
4.说明性示例
5.其它事项;扩展
6.硬件概述
7.计算机网络和云网络
8.微服务应用
1.总体概述
一个或多个实施例包括用于预测性系统修复的技术。基于与一个或多个系统选择的修复动作对系统(例如,数据库系统)中的一个或多个有问题的系统行为的应用相关联的属性,系统确定截至一个或多个未来时间,修复动作对特定有问题的系统行为的一个或多个未来应用的预测有效性(predicted effectiveness)。系统确定修复动作的一个或多个未来应用的预测有效性是正面的(positive),但不满足一个或多个性能标准(criteria)。响应于确定预测有效性是正面的但不满足一个或多个性能标准,系统生成与预测有效性不满足一个或多个性能标准对应的通知。系统将修复动作应用到特定有问题的系统行为,尽管已经确定修复动作的一个或多个未来应用的预测有效性不满足一个或多个性能标准。
本说明书中描述和/或权利要求中记载的一个或多个实施例可能没有被包括在本总体概述部分中。
2.体系架构概述
图1图示了根据一个或多个实施例的系统100。如图1中所示,系统100包括管理界面104、自愈系统102、数据储存库116及其各种部件。在一个或多个实施例中,系统100可以包括比图1中所示的部件更多或更少的部件。图1中所示的部件可以在彼此本地或彼此远离。图1中所示的部件可以用软件和/或硬件实现。每个部件可以分布在多个应用和/或机器上。可以将多个部件组合到一个应用和/或机器中。相对于一个部件描述的操作可以替代地由另一部件执行。下面描述与计算机网络相关的附加实施例和/或示例。
在实施例中,管理界面104是指被配置为促进用户(例如,处于管理角色和/或执行管理功能的用户)和自愈系统102之间的通信的硬件和/或软件。管理界面104渲染用户界面元素并经由用户界面元素接收输入。界面的示例包括图形用户界面(GUI)、命令行界面(CLI)、触觉界面和语音命令界面。用户界面元素的示例包括复选框、单选按钮、下拉列表、列表框、按钮、切换键、文本字段、日期和时间选择器、命令行、滑块、页面和表单。
在实施例中,管理界面104的不同部件以不同语言指定。用户界面元素的行为以动态编程语言(诸如JavaScript)指定。用户界面元素的内容以标记语言(诸如超文本标记语言(HTML)或XML用户界面语言(XUL))指定。用户界面元素的布局以样式表语言(诸如级联样式表(CSS))指定。替代地,管理界面104以一种或多种其它语言(诸如Java、C或C++)指定。
在实施例中,自愈系统102是指被配置为执行本文描述的用于预测性系统修复的操作的硬件和/或软件。预测性系统修复的操作示例如下所述。自愈系统102被配置为通过检测一个或多个有问题的系统行为并将一个或多个系统选择的修复动作应用到(一个或多个)有问题的系统行为来“自愈”,而不需要干预用户输入来选择和/或发起(一个或多个)修复动作。自愈系统102可以是包括数据库106的自愈数据库系统。自愈系统102可以被配置为检测影响数据库106的有问题的系统行为并且应用一个或多个系统选择的修复动作来“治愈”数据库。
在实施例中,有问题的系统行为可以是影响对自愈系统102的访问、由自愈系统102存储的数据的数据完整性、自愈系统的响应性和/或自愈系统102的任何其它性能特性或其组合的任何类型的行为。有问题的系统行为可以与一个或多个系统度量相关联,其中(一个或多个)度量的不同值对应于不同的系统状态,范围从无问题的系统行为到有问题的系统行为。例如,自愈系统102可以跟踪与带宽使用、响应时间、处理器利用率、存储可用性、事务率、处理时间、等待时间对应的度量,和/或量化系统行为的任何其它类型的度量或其组合。无问题的系统行为对应于其中所讨论的(一个或多个)部件按预期工作的系统状态。有问题的系统行为指示自愈系统102的一个或多个部件处于降级和/或非工作状态。例如,有问题的系统行为可以指示自愈系统的一个或多个部件已经发生故障、显示即将发生故障的症状,和/或未按预期执行。有问题的系统行为的示例可以包括但不限于:带宽饱和;响应时间慢;高处理器利用率;低存储空间(例如,盘空间)可用性;每个时间单位(例如,每秒)异常高的请求和/或事务率;每个事务的处理时间慢;等待状态花费的时间(例如,输入/输出等待时间、处理器等待时间等)异常长;和/或任何其它类型的有问题的系统行为或其组合。
在实施例中,修复动作可以是被设计为修复一个或多个有问题的系统行为的任何类型的动作或其组合。修复动作可以重新启动或重置自愈系统102的部件(例如,数据库、服务、虚拟机、操作系统和/或自愈系统102的任何其它部件或其组合)。替代地或附加地,修复动作可以为自愈系统102供给附加的资源(例如,网络带宽、处理器周期、存储器、存储装置和/或任何其它类型的资源或其组合)。例如,自愈系统102可以在数据中心、虚拟机环境和/或其中可用资源在多个物理和/或虚拟系统之间分配的任何其它类型的操作环境中操作。修复动作可以从另一个系统向自愈系统102分配空闲资源和/或重新分配资源。替代地或附加地,修复动作可以重新配置自愈系统的一个或多个部件。例如,如果网络接口饱和,那么修复动作可以对通过该网络接口进行的事务施加数据速率限制。许多不同类型的修复动作和/或其组合可以被应用到许多不同类型的有问题的系统行为。
在实施例中,修复引擎108是指被配置为执行本文描述的用于检测有问题的系统行为、选择要应用到有问题的系统行为的修复动作和/或将修复动作应用到有问题的系统行为的操作的硬件和/或软件。修复引擎108可以被配置为监视自愈系统102的部件(例如,使用轮询、日志代理、其中部件定期报告其健康状态的心跳系统,和/或任何其它类型的监视或其组合)。基于监视,修复引擎108可以检测有问题的系统行为。响应于检测到有问题的系统行为,修复引擎108可以从一组可用的修复动作中进行选择,这些修复动作可能已经被指定为适用于一个或多个特定的有问题的系统行为。修复引擎108可以将系统选择的修复动作应用到有问题的系统行为。
在实施例中,修复引擎108被配置为预测用于解决一个或多个有问题的系统行为的一个或多个修复动作的未来有效性。具体而言,修复引擎108可以使用关于修复动作对有问题的系统行为的先前应用的信息来预测修复动作的未来有效性。修复引擎108可以使用数据储存库116中存储的信息,如下所述。
在实施例中,自愈系统102包括机器学习引擎109。机器学习包括人工智能领域的各种技术,这些技术处理计算机实现的、独立于用户的处理,以解决具有可变输入的问题。自愈系统102可以被配置为使用机器学习引擎109来执行一个或多个本文描述的操作,以预测一个或多个修复动作的未来有效性。
在实施例中,机器学习引擎109训练机器学习模型110以执行一个或多个操作。训练机器学习模型110使用训练数据来生成函数,该函数在给定机器学习模型的一个或多个输入的情况下计算对应的输出。输出可以对应于基于先前机器学习的预测。在实施例中,输出包括分配给所提供的(一个或多个)输入的标签、分类和/或归类。机器学习模型110对应于用于执行(一个或多个)期望操作(例如,标记、分类和/或归类输入)的学习模型。
在实施例中,机器学习引擎109可以使用有监督的学习、半监督的学习、无监督的学习、强化学习和/或另一种训练方法或其组合。在有监督的学习中,标记的训练数据包括输入/输出对,其中每个输入被标记有期望的输出(例如,标签、分类和/或归类),也称为监督信号。在半监督的学习中,一些输入与监督信号相关联,并且其它输入不与监督信号相关联。在无监督的学习中,训练数据不包括监督信号。强化学习使用反馈系统,其中机器学习引擎109在尝试解决特定问题(例如,根据一个或多个预定义的性能标准来优化特定场景中的性能)的过程中接收正面和/或负面强化。在实施例中,机器学习引擎109最初使用有监督的学习来训练机器学习模型110,然后使用无监督的学习来持续更新机器学习模型110。
在实施例中,机器学习引擎109可以使用许多不同的技术来标记、分类和/或归类输入。机器学习引擎109可以将输入变换成描述输入的一个或多个性质(“特征”)的特征向量。机器学习引擎109可以基于特征向量对输入进行标记、分类和/或归类。替代地或附加地,机器学习引擎109可以使用聚类(也称为聚类分析)来识别输入中的共性。机器学习引擎109可以基于那些共性对输入进行分组(即,聚类)。机器学习引擎109可以使用分层聚类、k-means聚类和/或另一种聚类方法或其组合。在实施例中,机器学习引擎109包括人工神经网络。人工神经网络包括多个节点(也称为人工神经元)和节点之间的边。边可以与表示节点之间的连接强度的对应权重相关联,机器学习引擎109随着机器学习的进行而调整这些权重。替代地或附加地,机器学习引擎109可以包括支持向量机。支持向量机将输入表示为向量。机器学习引擎109可以基于向量对输入进行标记、分类和/或归类。替代地或附加地,机器学习引擎109可以使用朴素贝叶斯分类器来标记、分类和/或归类输入。替代地或附加地,给定特定输入,机器学习模型可以应用决策树来预测给定输入的输出。替代地或附加地,机器学习引擎109可以在其中在固定的一组互斥选项中标记、分类和/或归类输入不可能或不切实际的情况下应用模糊(fuzzy)逻辑。前述机器学习模型110和技术仅出于示例性目的被讨论并且不应被解释为限制一个或多个实施例。
在实施例中,当机器学习引擎109将不同的输入应用到机器学习模型110时,对应的输出并不总是准确的。作为示例,机器学习引擎109可以使用有监督的学习来训练机器学习模型110。在训练机器学习模型110之后,如果后续输入与被包括在已标记训练数据中的输入相同并且输出与训练数据中的监督信号相同,那么输出肯定是准确的。如果输入与被包括在已标记训练数据中的输入不同,那么机器学习引擎109可以生成不准确的或不确定准确性的对应输出。除了针对给定输入产生特定输出之外,机器学习引擎109可以被配置为产生表示输出的准确性的置信度(或缺乏置信度)的指示符。置信度指示符可以包括数字分数、布尔值和/或对应于输出的准确性的置信度(或缺乏置信度)的任何其它类型的指示符。
在实施例中,给定有问题的系统行为和候选修复动作,机器学习引擎109可以被配置为预测候选修复动作的未来有效性以解决有问题的系统行为。机器学习引擎109可以被配置为检测和存储系统行为中的模式和/或对有问题的系统行为的修复动作的先前应用。机器学习引擎109可以被配置为基于这些模式来预测修复动作的有效性和/或未来系统行为。
在实施例中,机器学习引擎109被配置为检测和存储季节性模式112。季节性模式112是与特定季节(即,在其期间系统行为可能因季节性因素而以相对可预测的方式变化的时间段)相关联的系统行为模式。例如,假期和销售活动通常与季节性系统行为相关联。在编号为15/186,938的美国专利申请中进一步详细地讨论了季节性,该申请通过引用全文并入本文。
在实施例中,机器学习引擎109被配置为检测和存储非季节性模式114。非季节性模式114是不与特定季节相关联的系统行为模式。非季节性模式114可以对应于系统行为随时间的趋势(例如,增加的等待时间)。替代地或附加地,非季节性模式114可以对应于系统行为随时间的循环模式(例如,根据可辨别的模式在长等待时间和短等待时间之间移动)。替代地或附加地,当应用修复动作来解决有问题的系统行为时,季节性模式112和/或非季节性模式114可以反映系统行为模式。季节性模式112和/或非季节性模式114可以基于存储在数据储存库116中的信息,如下所述。一般而言,在实施例中,机器学习引擎109使用季节性模式112和/或非季节性模式114来预测未来系统行为。
在实施例中,机器学习引擎109被配置为在预测未来系统行为和/或将修复动作应用到有问题的系统行为的未来有效性时考虑季节性模式112和/或非季节性模式114。下面进一步详细地讨论预测未来系统行为和/或对有问题的系统行为应用修复动作的未来有效性。
在实施例中,系统100包括数据储存库116。数据储存库116可以被配置为存储一个或多个系统行为定义120。系统行为定义120对应于将被视为有问题的系统行为或无问题的系统行为的系统行为。系统行为定义120可以包括指示一种系统行为(例如,处理器利用率)和/或特定系统资源(例如,特定网络接口)的数据。替代地或附加地,系统行为定义120可以包括阈值度量(例如,最大处理器利用率、最小空闲存储空间量等),达到或超过该阈值度量,对应的系统行为被认为是有问题的。在实施例中,特定系统行为是否被认为是“有问题的”至少部分地基于系统行为的季节性模式112。例如,在非旺季(non-peak season)期间可能被认为有问题的系统行为(例如,高处理器使用率、高请求率、高带宽饱和等)在旺季期间(例如,在促销或假期期间)可能被认为是无问题的。一个或多个系统行为定义120可以包括针对不同季节和/或季节类型的不同标准。
替代地或附加地,数据储存库116可以被配置为存储一个或多个修复动作定义122。修复动作定义122对应于可由自愈系统选择以尝试修复有问题的系统行为(例如,如由系统行为定义120所定义的)的行为。修复动作定义122可以包括指示一种系统行为(例如,高处理器利用率)的数据,对应于修复动作定义122的修复动作适用于该系统行为。修复动作定义122可以通过将修复动作定义122映射到对应的系统行为定义120(例如,通过在修复动作定义122中包括系统行为定义120的唯一标识符,或通过将修复动作定义122映射到系统行为定义120的一些其它技术)指示可应用的系统行为。替代地或附加地,修复动作定义122可以指示要应用的(一个或多个)修复动作。上面描述了修复动作的示例。
替代地或附加地,数据储存库116可以被配置为存储修复历史124。修复历史124包括对应于一个或多个修复动作对一个或多个有问题的系统行为的(一个或多个)先前应用的数据。该数据可以包括与(一个或多个)应用相关联的属性。例如,属性可以指示:应用修复动作的时间;在应用修复动作之前与有问题的系统行为相关联的度量;在应用修复动作之后与有问题的系统行为相关联的度量;指示修复动作的应用是否成功地修复有问题的系统行为的数据值;和/或与一个或多个修复动作对一个或多个有问题的系统行为的一个或多个应用相关联的任何其它类型的信息。
替代地或附加地,数据储存库116可以被配置为存储修复配置126。修复配置126指示用于将修复动作应用到有问题的系统行为的一个或多个标准。用于将修复动作应用到有问题的系统行为的标准可能不同于指示对应的系统行为被认为有问题的阈值度量。例如,标准可以指示仅当系统行为已经有问题达至少特定时间量或特定量(例如,高于或低于阈值度量的特定量或百分比)时才应该应用修复动作。替代地或附加地,修复配置126可以指示不同修复动作的偏好顺序、一天中可以应用修复动作的时间(例如,仅在非高峰时间重启自愈系统102)、尝试特定修复动作的最大次数、和/或用于将修复动作应用到有问题的系统行为的任何其它标准或其组合。
在实施例中,系统行为定义120、修复动作定义122、修复配置126和/或其它存储项或其组合可以包括针对修复动作的、对应于修复动作是否被认为是成功的一个或多个性能标准。针对修复动作的一个或多个性能标准可以对应于系统行为的相对改进或该系统行为在未来某个时间或未来某个时间窗口内的预期值。例如,一个或多个性能标准可以指示:(可选地针对未来某个时间窗口)如果针对处理器利用率的修复动作预期将处理器利用率从当前处理器利用率水平降低至少某个百分比,那么该修复动作是“成功的”。作为另一个示例,一个或多个性能标准可以指示:(可选地针对未来某个时间窗口)如果针对存储空间的修复动作预期释放当前利用的存储空间的至少某个百分比,那么该修复动作是“成功的”。作为又一个示例,一个或多个性能标准可以指示:(可选地针对未来某个时间窗口(例如,接下来的三十天))如果系统未被预测为崩溃或进入用户定义的关键操作状态(例如,基于经验、智慧、或系统管理员的风险规避)和/或与已经提升到严重降低性能的级别(例如,达到阻止计算机系统的实际或虚拟用户获得由计算机系统提供或甚至保证的利益的点,或者达到使计算机系统的所有者花费与计算机系统的目的和可接受的成本相比大得无法接受的资源量的点)的负载相关联,那么该修复动作是“成功的”。在这个示例中,只要系统预期不会在未来的指定时间窗口内进入该关键操作状态,修复动作就在延迟为潜在问题提供更量身定制的解决方案的任何实际需求方面是成功的。替代地或附加地,针对修复动作的一个或多个性能标准可以对应于绝对度量。例如,一个或多个性能标准可以指示:(可选地针对未来某个时间窗口)如果针对处理器利用率的修复动作预期将处理器利用率降低到低于某个量(例如,百分之五十利用率),那么该修复动作是“成功的”。作为另一个示例,一个或多个性能标准可以指示:(可选地针对未来某个时间窗口)如果针对存储空间的修复动作预期产生至少一定量的存储空间(例如,一太字节(terabyte)),那么该修复动作是“成功的”。许多不同类型的性能标准和/或其组合可以用于定义修复动作的“成功”。
在实施例中,数据储存库116是用于存储数据的任何类型的存储单元和/或设备(例如,文件系统、数据库、表的集合或任何其它存储机制)。此外,数据储存库116可以包括多个不同的存储单元和/或设备。多个不同的存储单元和/或设备可以是或可以不是相同的类型或位于相同的物理站点。此外,数据储存库116可以在与系统100的一个或多个其它部件相同的计算系统上实现或执行。替代地或附加地,数据储存库116可以在与系统100的一个或多个其它部件分离的计算系统上实现或执行。数据储存库116可以经由直接连接或经由网络通信地耦合到系统100的一个或多个其它部件。
描述系统行为定义120、修复动作定义122、修复历史124和/或修复配置126的信息可以跨系统100内的任何部件实现。但是,为了清楚和解释的目的,该信息被图示在数据储存库116内。
在实施例中,系统100的一个或多个部件在一个或多个数字设备上实现。术语“数字设备”通常是指包括处理器的任何硬件设备。数字设备可以指执行应用或虚拟机的物理设备。数字设备的示例包括计算机、平板电脑、膝上型电脑、台式机、上网本、服务器、web服务器、网络策略服务器、代理服务器、通用机器、特定功能硬件设备、硬件路由器、硬件交换机、硬件防火墙、硬件防火墙、硬件网络地址转换器(NAT)、硬件负载均衡器、大型机、电视、内容接收器、机顶盒、打印机、移动电话、智能电话、个人数字助理(“PDA”)、无线接收器和/或发射器、基站、通信管理设备、路由器、交换机、控制器、接入点和/或客户端设备。
3.预测性系统修复
图2A-图2B图示了根据一个或多个实施例的用于预测性系统修复的一组示例操作。可以一起修改、重新布置或省略图2A-图2B中所示的一个或多个操作。因此,图2A-图2B中所示的特定操作顺序不应被解释为限制一个或多个实施例的范围。
在实施例中,系统(例如,图1的自愈系统102)获得与一个或多个修复动作对系统的应用相关联的属性(操作202)。如以上所讨论的,属性可以包括与(一个或多个)修复动作的先前应用相关联的任何类型的信息,包括但不限于:应用修复动作的时间;在应用修复动作之前与有问题的系统行为相关联的度量;在应用修复动作之后与有问题的系统行为相关联的度量;指示修复动作的应用是否成功地修复有问题的系统行为的数据值;和/或与一个或多个修复动作对一个或多个有问题的系统行为的一个或多个应用相关联的任何其它类型的信息。属性可以包括被专门设计并加载到系统中以训练机器学习模型的已标记训练数据。替代地或附加地,属性可以包括在系统操作期间获得的未标记数据。
在实施例中,系统训练机器学习模型以预测应用修复动作的有效性(操作204)。如以上所讨论的,系统可以使用有监督的学习、无监督的学习、强化学习和/或另一种训练方法或其组合来训练机器学习模型。系统可以使用已标记的和/或未标记的数据(例如,与一个或多个修复动作对系统的应用相关联的属性)来训练机器学习模型。
在实施例中,系统接收用户输入以配置针对修复动作的一个或多个性能标准(操作206)。如以上所讨论的,当与应用修复动作的特定实例相比时,针对修复动作的一个或多个性能标准指示该修复动作是否被认为是成功的。在实施例中,一个或多个性能标准包括系统经由用户界面(例如,图1的管理界面104)接收的一个或多个用户定义的标准。
在实施例中,系统监视有问题的系统行为(操作208)。系统可以通过获得与当前系统行为相关联的数据(例如,使用上述一种或多种监视技术)来监视有问题的系统行为。基于与当前系统行为相关联的数据,系统确定是否检测到有问题的系统行为(操作210)。在实施例中,特定系统行为是否被认为是“有问题的”至少部分地基于系统行为的季节性模式。在非旺季期间可能被认为有问题的系统行为(例如,高处理器使用率、高请求率、高带宽饱和等)在旺季期间(例如,在促销或假期期间)可能被认为是无问题的。系统可以预测在旺季期间出现的此类行为将在该季节结束时消退和/或自我纠正,因此不需要修复动作。系统行为是否被认为有问题可以根据一个或多个系统行为定义(例如,图1的系统行为定义120)进行评估。不同的标准可能适用于不同的季节和/或季节类型。一般而言,在实施例中,系统监视由于其足够偏离(例如,偏移定义的量或程度,诸如一定数量的标准偏差)并且持续偏离预期的系统行为而有问题的系统行为。
在实施例中,响应于确定检测到有问题的系统行为,系统确定适用于检测到的有问题的系统行为的任何修复动作是否可用(操作212)。具体而言,系统可以确定是否存在任何修复动作定义(例如,图1的修复动作定义122)映射到检测到的特定的有问题的系统行为和/或类型的有问题的系统行为。如果不存在适用于检测到的有问题的系统行为的修复动作可用,那么系统可以生成指示系统无法“自愈”的通知(操作214)。系统可以日志记录该通知和/或将该通知发送给用户(例如,系统管理员)。
在实施例中,响应于确定适用于检测到的有问题的系统行为的修复动作可用,系统确定将修复动作应用到有问题的系统行为的预测有效性(操作216)。系统可以确定将修复动作应用到有问题的系统行为的当前表现的实例的预测有效性。替代地,系统可以确定将修复动作应用到有问题的系统行为的一个或多个未来实例的预测有效性。在一些情况下,应用修复动作可能会暂时解决有问题的系统行为。但是,有问题的系统行为可能再次出现,并且在后续应用中修复动作可能不太成功。例如,修复动作的有效性可能会随着时间的推移而变得越来越低。
在实施例中,系统使用机器学习模型(例如,图1的机器学习模型110)来确定将修复动作应用到有问题的系统行为的预测有效性。预测有效性可以包括关于预测修复动作何时不再有效(例如,在有问题的系统行为的特定时间量和/或特定数量的实例之后)的信息。预测有效性可以对应于指示修复动作成功和/或不成功的量或程度的度量。系统可以在将修复动作应用到有问题的系统行为的当前实例之前确定预测有效性。替代地或附加地,系统可以预先确定修复动作的预测有效性,以确定系统是否具有针对当前未在系统中表现的有问题的系统行为的任何脆弱性。
在实施例中,系统确定应用修复动作的预测有效性是否满足一个或多个性能标准(操作218),当与应用修复动作的特定实例相比时,该一个或多个性能标准指示修复动作是否被认为是成功的。如果预测有效性不满足一个或多个性能标准或以其它方式指示修复动作被预测为不成功,那么系统可以生成通知(操作220)。通知可以包括与系统的预测相关联的任何类型的信息,诸如:有问题的系统行为;修复动作;预测有效性;预测修复动作将无法满足一个或多个性能标准的时间范围;和/或与系统的预测相关联的任何其它类型的信息或其组合。系统可以日志记录该通知和/或将该通知发送给用户(例如,系统管理员)。在实施例中,系统被配置为在预测修复动作将无法满足一个或多个性能标准之前的特定时间量内(例如,在一周、一个月或可以由用户配置的任何其他时间段内)发送通知,以允许用户有足够的时间干预并防止预测的失败。该时间量可以至少部分地基于用户对有问题的系统行为进行故障排除和/或解决的预期时间量。该时间量可以是用户可配置的,例如经由如本文所述的包括用于管理系统的自愈行为的控件的用户界面。在实施例中,通知包括链接(例如,超链接、应用启动器和/或另一种链接),当用户选择该链接时,该链接将用户引导至包括用于管理系统的自愈行为的控件的图形用户界面。替代地或附加地,通知本身可以包括具有这种控件的图形用户界面。下面讨论与管理自愈行为的指令对应的用户输入的一些示例。
在实施例中,系统确定另一个修复动作是否适用于有问题的系统行为(操作222)。系统可以预测应用适用于有问题的系统行为的每个修复动作的有效性。
在实施例中,即使应用修复动作(或多个修复动作,如果适用的话)的预测有效性不满足一个或多个性能标准,或者修复动作以其它方式被预测为不成功,系统仍然对有问题的系统行为的当前实例应用修复动作(操作224)。如以上所讨论的,应用修复动作可以临时修复和/或改善有问题的系统行为。系统可以继续对有问题的系统行为的实例应用修复动作、尽系统的最大能力来执行“自愈”,直到进一步的动作被采取来解决有问题的系统行为为止。虽然预测有效性不满足一个或多个性能标准,但应用修复动作仍然可以允许系统在一段时间内和/或对于修复动作仍然满足一个或多个性能标准的有问题的系统行为的实例继续应用修复动作。系统可以在到达修复动作的有效性未能满足一个或多个性能标准的有问题的系统行为的时间点和/或实例之前继续应用修复动作。
在实施例中,系统对有问题的系统行为应用多个修复动作。系统可以按特定顺序应用修复动作。例如,系统可以按照预测有效性、对操作系统的实体的预测成本、复杂性(例如,在应用软件补丁之前尝试分配更多资源,或在分配更多资源之前清理高速缓存)、或任何其它排序标准或其组合的顺序应用修复动作。替代地或附加地,系统可以根据定义的顺序(例如,由管理员经由管理界面在系统配置中指定的特定顺序)应用修复动作。在实施例中,系统存储哪些修复动作在应用时最有效的记录,并且在有问题的行为的未来实例中优选最有效的修复动作。替代地或附加地,系统可以跟踪修复动作的有问题的副效应(例如,应用软件补丁时的系统停机时间),并且在有问题的系统行为的未来实例中不赞成具有最有问题的副效应的修复动作。系统可以在应用已知具有有问题的副效应的修复动作之前提示用户进行确认。
在实施例中,在达到修复动作不满足一个或多个性能标准的有问题的系统行为的时间点和/或实例之前,预测应用修复动作的有效性允许系统管理员采取进一步动作(例如,响应来自系统的通知)以防止系统到达有问题的系统行为的该时间点和/或实例。替代地或附加地,即使应用修复动作不满足一个或多个性能标准,继续对有问题的系统行为应用修复动作可以在一定程度上继续减轻有问题的系统行为。
在实施例中,系统基于(一个或多个)修复动作对有问题的系统行为的一个或多个应用来更新机器学习模型(操作226)。基于在系统操作期间检测到的有问题的系统行为和/或应用到有问题的系统行为的修复动作的结果,系统可以使用无监督的学习来持续更新机器学习模型。与修复动作对有问题的系统行为的应用相关联的属性可以被存储为系统修复历史的一部分,系统可以使用它来更新机器学习模型。在实施例中,持续更新机器学习模型改善了系统预测将修复动作应用到有问题的系统行为的有效性的能力。
在实施例中,系统基于用户输入来调整自愈(操作228)。如上所述,用户可以在经由通知中的链接到达的图形用户界面中提供输入。用户可以提供输入以改变系统行为定义、修复动作定义、修复配置和/或系统用于自愈的任何其它类型的数据或其组合。例如,系统可以通知用户应用修复动作的预测有效性不满足一个或多个性能标准。响应于该通知,用户可以指示系统避免应用修复动作、更频繁地应用修复动作、应用不同的修复动作(例如,由用户选择的解决有问题的系统行为的修复动作,其不同于由系统选择的解决有问题的系统行为的修复动作)、调整一个或多个性能标准、调整定义有问题的系统行为的阈值、和/或对系统自愈行为进行的任何其它类型的更改或其组合。用户选择的修复动作可以从已经为系统定义的一组修复动作中选择。替代地或附加地,如果/当有问题的系统行为再次出现时,用户可以定义并选择先前未为系统定义的新的修复动作以供系统应用。作为另一个示例,系统可以将不同的权重与不同的修复动作相关联,其中权重帮助系统选择在特定情况下应用哪个修复动作。用户可以提供用户输入以增加或减少一个或多个特定修复动作的(一个或多个)权重,使得如果/当有问题的系统行为再次出现时,系统使用调整后的(一个或多个)权重。替代地或附加地,用户可以提供向系统通知修复动作的有问题的副效应(例如,使系统部件和/或另一个系统的部件的性能降级)的输入,使得系统针对有问题的系统行为的未来实例考虑有问题的副效应。替代地或附加地,用户可以存储关于可能影响系统性能的用户发起的修复动作(与系统选择的修复动作不同)的信息。例如,用户可以输入对应于系统维护的数据,诸如更换网线、升级处理器、将系统移动到不同的地理位置、和/或可能增加或减轻有问题的系统行为的任何其它类型的用户发起的修复动作或其组合。替代地或附加地,用户可以提供指示解决一个或多个有问题的系统行为的输入。解决方案可以是系统尚未检测到和/或未被配置为检测的类型。替代地或附加地,用户可以指示系统清理与机器学习引擎相关联的高速缓存、历史和/或其它类型的存储器。例如,用户可以指示系统在特定日期之前清理机器学习引擎的整个存储器或机器学习引擎的存储器。在特定日期之前清理机器学习引擎的存储器可以通过消除过时的历史数据来提高机器学习引擎进行预测的能力。一般而言,在实施例中,系统基于用户提供的附加信息调整未来预测。基于用户输入来调整自愈可以允许系统尽最大努力进行自愈,同时仍然允许用户控制系统的操作并就系统应该如何响应有问题的系统行为做出人工决定。
4.说明性示例
为了清楚起见,下面描述详细的示例。下面描述的部件和/或操作应该被理解为可能不适用于某些实施例的一个具体示例。相应地,下面描述的部件和/或操作不应被解释为限制任何权利要求的范围。
图3图示了系统性能随时间变化的图300。在这个示例中,应用修复动作的预测有效性参考系统性能(例如,每单位时间的可用处理器周期、可用带宽和/或任何其它类型的系统性能度量或其组合)来定义。具体而言,成功应用修复动作的一个或多个性能标准对应于将系统性能恢复到阈值水平。在该图的开头,系统性能随着时间的推移而下降。在时间T1,系统应用修复动作,从而使得系统性能提高。在时间T1之后,系统性能高于阈值水平但未达到其先前的高度。系统性能随后再次开始下降,并且在时间T2,系统再次应用修复动作。在时间T3,基于在时间T1和T2应用修复动作的结果,系统预测应用该修复动作的有效性将在时间T5之后不满足一个或多个性能标准(即,将系统性能恢复到至少阈值水平)。尽管预测如此,但在时间T4,系统再次应用该修复动作。在时间T4应用该修复动作允许系统性能在附加的一段时间内保持高于阈值水平。在时间T5,系统性能降到低于阈值水平。在时间T6,系统再次应用修复动作,但如在时间T3所预测的那样,该修复动作不满足一个或多个性能标准,即,未能将系统性能恢复到至少阈值水平。在这个示例中,没有采取进一步动作来防止系统性能在时间T5下降到阈值水平以下,或允许在时间T6应用修复动作以满足一个或多个性能标准。但是,在时间T3生成的系统通知可以允许管理员进行干预并采取一些进一步的动作(图3中未显示)以确保系统性能保持在阈值水平以上和/或修复动作的后续应用(如果需要的话)满足一个或多个性能标准。
5.其它事项;扩展
实施例针对具有一个或多个设备的系统,该一个或多个设备包括硬件处理器并且被配置为执行本文所描述的和/或以下所附权利要求中的任何权利要求中所记载的任何操作。
在实施例中,非瞬态计算机可读存储介质包括指令,该指令在由一个或多个硬件处理器执行时,使得执行本文所描述的和/或任何权利要求中所记载的任何操作。
根据一个或多个实施例,可以使用本文所描述的特征和功能的任何组合。在前述说明书中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可能因实施方案而不同。因此,应当在说明性而不是限制性的意义上看待说明书和附图。本发明范围的唯一且排他的指示以及申请人意在要作为本发明范围的是以由本申请产生的一组权利要求的具体形式的所产生权利要求的字面和等同范围,包括任何后续的校正。
6.硬件概述
根据一个实施例,本文描述的技术由一个或多个专用计算设备(即,专门被配置为执行某些功能的计算设备)实现。专用计算设备可以是硬连线的以执行本技术,或者可以包括被持久性地编程以执行本技术的数字电子设备,诸如一个或多个专用集成电路(ASIC)、现场可编程门阵列(FPGA)或网络处理单元(NPU),或者可以包括被编程为根据固件、存储器、其它存储装置或组合中的程序指令执行本技术的一个或多个通用硬件处理器。这种专用计算设备还可以将定制的硬接线逻辑、ASIC、FPGA或NPU与定制的编程组合来实现本技术。专用计算设备可以是台式计算机系统、便携式计算机系统、手持式设备、联网设备或结合硬连线和/或程序逻辑来实现本技术的任何其它设备。
例如,图4是图示可以在其上实现本发明的实施例的计算机系统400的框图。计算机系统400包括总线402或用于传送信息的其它通信机制,以及与总线402耦合用于处理信息的硬件处理器404。硬件处理器404可以是例如通用微处理器。
计算机系统400还包括耦合到总线402用于存储信息和要由处理器404执行的指令的主存储器406,诸如随机存取存储器(RAM)或其它动态存储设备。主存储器406也可以用于在要由处理器404执行的指令的执行期间存储临时变量或其它中间信息。这种指令当被存储在处理器404可访问的非瞬态存储介质中时,使得计算机系统400成为被定制用于执行指令中指定的操作的专用机器。
计算机系统400还包括耦合到总线402用于存储静态信息和处理器404的指令的只读存储器(ROM)408或其它静态存储设备。提供了诸如磁盘或光盘之类的存储设备410,并且存储设备410耦合到总线402用于存储信息和指令。
计算机系统400可以经由总线402耦合到显示器412,诸如液晶显示器(LCD)、等离子显示器、电子墨水显示器、阴极射线管(CRT)监视器或用于向计算机用户显示信息的任何其它种类的设备。包括字母数字键和其它键的输入设备414可以耦合到总线402,用于将信息和命令选择传送到处理器404。替代地或附加地,计算机系统400可以经由光标控件416接收用户输入,其中光标控件416诸如鼠标、轨迹球、触控板、触摸屏或光标方向键,以用于向处理器404传送方向信息和命令选择并且用于控制光标在显示器412上的移动。这种输入设备典型地具有两个轴(第一轴(例如,x)和第二轴(例如,y))上的两个自由度,以允许设备在平面中指定位置。显示器412可以被配置为经由一个或多个压敏传感器、多点触摸传感器和/或姿势传感器接收用户输入。替代地或附加地,计算机系统400可以经由麦克风、视频相机和/或一些其它种类的用户输入设备(未示出)接收用户输入。
计算机系统400可以使用定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑来实现本文描述的技术,该定制的硬连线逻辑、一个或多个ASIC或FPGA、固件和/或程序逻辑与计算机系统组合使得计算机系统400成为专用机器或将计算机系统400编程为专用机器。根据一个实施例,本文的技术由计算机系统400响应于处理器404执行主存储器406中包含的一条或多条指令的一个或多个序列而执行。这些指令可以从另一个存储介质(诸如存储设备410)读取到主存储器406中。在主存储器406中包含的指令序列的执行使得处理器404执行本文描述的处理步骤。在替代实施例中,可以使用硬连线电路系统代替软件指令或与软件指令组合使用。
如本文使用的术语“存储介质”是指存储使得机器以特定方式操作的数据和/或指令的任何非瞬态介质。这种存储介质可以包括非易失性介质和/或易失性介质。非易失性介质包括例如光盘或磁盘,诸如存储设备410。易失性介质包括动态存储器,诸如主存储器406。存储介质的常见形式包括例如软盘、柔性盘、硬盘、固态驱动器、磁带或任何其它磁数据存储介质、CD-ROM、任何其它光学数据存储介质、具有孔图案的任何物理介质、RAM、可编程只读存储器(PROM)和可擦除PROM(EPROM)、FLASH-EPROM、非易失性随机存取存储器(NVRAM)、任何其它存储器芯片或盒带、内容可寻址存储器(CAM)和三元内容可寻址存储器(TCAM)。
存储介质与传输介质不同但可以与传输介质结合使用。传输介质参与在存储介质之间的信息传送。例如,传输介质包括同轴线缆、铜线和光纤,包括包含总线402的引线(wire)。传输介质还可以采取声波或光波的形式,诸如在无线电波和红外线数据通信期间生成的那些声波或光波。
将一条或多条指令的一个或多个序列携带(carry)到处理器404以供执行可以涉及各种形式的介质。例如,指令最初可以在远程计算机的磁盘或固态驱动器上携带。远程计算机可以将指令加载到其动态存储器中,并经由网络接口控制器(NIC)(诸如以太网控制器或Wi-Fi控制器)通过网络发送指令。计算机系统400本地的NIC可以从网络接收数据并将数据放在总线402上。总线402将数据携带到主存储器406,处理器404从该主存储器406检索并执行指令。由主存储器406接收到的指令可以可选地在被处理器404执行之前或执行之后存储在存储设备410上。
计算机系统400还包括耦合到总线402的通信接口418。通信接口418提供耦合到网络链路420的双向数据通信,其中网络链路420连接到本地网络422。例如,通信接口418可以是综合业务数字网(ISDN)卡、线缆调制解调器、卫星调制解调器、或向对应类型的电话线提供数据通信连接的调制解调器。作为另一个示例,通信接口418可以是提供到兼容的局域网(LAN)的数据通信连接的LAN卡。也可以实现无线链路。在任何这种实现中,通信接口418发送和接收携带表示各种类型信息的数字数据流的电信号、电磁信号或光信号。
网络链路420典型地通过一个或多个网络向其它数据设备提供数据通信。例如,网络链路420可以通过本地网络422提供到主计算机424或到由互联网服务提供商(ISP)426运营的数据设备的连接。ISP 426进而通过现在通常称为“互联网”428的全球分组数据通信网络提供数据通信服务。本地网络422和互联网428都使用携带数字数据流的电信号、电磁信号或光信号。通过各种网络的信号以及在网络链路420上并且通过通信接口418的信号是传输介质的示例形式,这些信号携带去往和来自计算机系统400的数字数据。
计算机系统400可以通过网络、网络链路420和通信接口418发送消息和接收数据,包括程序代码。在互联网示例中,服务器430可以通过互联网428、ISP 426、本地网络422和通信接口418传输对于应用程序的请求代码。
接收到的代码可以在它被接收时由处理器404执行,和/或存储在存储设备410或存储在其它非易失性存储装置中以供以后执行。
7.计算机网络和云网络
在一个或多个实施例中,计算机网络提供运行利用如本文所描述的技术的软件的节点集合之间的连接。节点可以在彼此本地和/或彼此远离。节点通过一组链路连接。链路的示例包括同轴线缆、非屏蔽双绞线、铜缆、光纤和虚拟链路。
节点的子集实现计算机网络。这样的节点的示例包括交换机、路由器、防火墙和网络地址转换器(NAT)。节点的另一个子集使用计算机网络。这样的节点(也称为“主机”)可以执行客户端进程和/或服务器进程。客户端进程请求计算服务(诸如,特定应用的执行和/或特定量的数据存储)。服务器进程通过执行所请求的服务和/或返回对应的数据进行响应。
计算机网络可以是物理网络,包括通过物理链路连接的物理节点。物理节点是任何数字设备。物理节点可以是特定于功能的硬件设备,诸如硬件交换机、硬件路由器、硬件防火墙和硬件NAT。附加地或替代地,物理节点可以是提供算力以执行任务的任何物理资源,诸如被配置为执行各种虚拟机和/或执行相应功能的应用的物理资源。物理链路是连接两个或更多个物理节点的物理介质。链路的示例包括同轴线缆、非屏蔽双绞线、铜缆和光纤。
计算机网络可以是覆盖网络。覆盖网络是在另一个网络(诸如,物理网络)上实现的逻辑网络。覆盖网络中的每个节点对应于底层网络中的相应节点。因此,覆盖网络中的每个节点与覆盖地址(寻址到覆盖节点)和底层地址(寻址实现覆盖节点的底层节点)两者相关联。覆盖节点可以是数字设备和/或软件进程(诸如,虚拟机、应用实例或线程)。连接覆盖节点的链路被实现为通过底层网络的隧道。隧道任一端处的覆盖节点将它们之间的底层多跳路径视为单个逻辑链路。隧道处理通过封装和解封装来执行。
在实施例中,客户端可以在计算机网络的本地和/或远离计算机网络。客户端可以通过其它计算机网络(诸如专用网络或互联网)访问计算机网络。客户端可以使用通信协议(诸如超文本传输协议(HTTP))将请求传送到计算机网络。通过诸如客户端接口(诸如web浏览器)、程序接口或应用编程接口(API)之类的接口来传送请求。
在实施例中,计算机网络提供客户端和网络资源之间的连接。网络资源包括被配置为执行服务器进程的硬件和/或软件。网络资源的示例包括处理器、数据存储装置、虚拟机、容器和/或软件应用。网络资源在多个客户端之间共享。客户端彼此独立地从计算机网络请求计算服务。网络资源按需动态分配给请求和/或客户端。可以基于例如(a)由特定客户端请求的计算服务、(b)由特定租户请求的聚合计算服务、和/或(c)计算机网络所请求的聚合计算服务来扩大或缩小分配给每个请求和/或客户端的网络资源。这种计算机网络可以被称为“云网络”。
在实施例中,服务提供商向一个或多个最终用户提供云网络。云网络可以实现各种服务模型,包括但不限于软件即服务(SaaS)、平台即服务(PaaS)和基础设施即服务(IaaS)。在SaaS中,服务提供商向最终用户提供使用服务提供商的正在网络资源上执行的应用的能力。在PaaS中,服务提供商向最终用户提供将定制应用部署到网络资源上的能力。可以使用由服务提供商支持的编程语言、库、服务和工具来创建定制应用。在IaaS中,服务提供商向最终用户提供供应由网络资源提供的处理、存储、网络和其它基本计算资源的能力。可以在网络资源上部署任何应用,包括操作系统。
在实施例中,计算机网络可以实现各种部署模型,包括但不限于私有云、公共云和混合云。在私有云中,网络资源被供应给一个或多个实体的特定组独占使用(如本文所使用的术语“实体”是指企业、组织、个人或其它实体)。网络资源可以在特定实体组的场所本地和/或远离特定实体组的场所。在公共云中,云资源被供应给彼此独立的多个实体(也称为“租户”或“客户”)。计算机网络及其网络资源由与不同租户对应的客户端访问。这样的计算机网络可以被称为“多租户计算机网络”。若干租户可以在不同时间和/或同时使用相同的特定网络资源。网络资源可以在租户的场所本地和/或远离租户的场所。在混合云中,计算机网络包括私有云和公共云。私有云和公共云之间的接口允许数据和应用的可移植性。存储在私有云处的数据和存储在公共云处的数据可以通过接口交换。在私有云处实现的应用和在公共云处实现的应用可能彼此具有依赖性。可以通过接口执行从私有云处的应用到公共云处的应用的调用(反之亦然)。
在实施例中,多租户计算机网络的租户彼此独立。例如,一个租户(通过操作、特定于租户的实践、员工和/或外部世界的识别)可以与另一个租户分离。不同的租户可能对计算机网络具有不同的网络需求。网络需求的示例包括处理速度、数据存储量、安全需求、性能需求、吞吐量需求、延时需求、弹性需求、服务质量(QoS)需求、租户隔离和/或一致性。同一计算机网络可能需要实现由不同租户要求的不同网络需求。
在一个或多个实施例中,在多租户计算机网络中,实现租户隔离以确保彼此不共享不同租户的应用和/或数据。可以使用各种租户隔离方法。
在实施例中,每个租户与租户ID相关联。多租户计算机网络的每个网络资源都标有租户ID。仅当租户和特定网络资源与同一租户ID相关联时,才允许该租户访问该特定网络资源。
在实施例中,每个租户与租户ID相关联。由计算机网络实现的每个应用标有租户ID。附加地或替代地,由计算机网络存储的每个数据结构和/或数据集标有租户ID。仅在租户和特定应用、数据结构和/或数据集与同一租户ID相关联的情况下,才允许该租户访问该特定应用、数据结构和/或数据集。
作为示例,由多租户计算机网络实现的每个数据库可以标有租户ID。只有与对应租户ID相关联的租户才可以访问特定数据库的数据。作为另一个示例,由多租户计算机网络实现的数据库中的每个条目可以标有租户ID。只有与对应租户ID相关联的租户才可以访问特定条目的数据。但是,数据库可以由多个租户共享。
在实施例中,订阅列表指示哪些租户有权访问哪些应用。对于每个应用,存储被授权访问该应用的租户的租户ID列表。仅在租户的租户ID被包含在与特定应用对应的订阅列表中的情况下,才允许该租户访问该特定应用。
在实施例中,与不同租户对应的网络资源(诸如数字设备、虚拟机、应用实例和线程)被隔离到由多租户计算机网络维护的特定于租户的覆盖网络。作为示例,来自租户覆盖网络中的任何源设备的分组(packet)可以仅被发送到同一租户覆盖网络内的其它设备。封装隧道用于禁止从租户覆盖网络上的源设备到其它租户覆盖网络中的设备的任何传输。具体而言,从源设备接收的分组被封装在外分组中。外分组从(与租户覆盖网络中的源设备通信的)第一封装隧道端点被发送到(与租户覆盖网络中的目的地设备通信的)第二封装隧道端点。第二封装隧道端点对外分组进行解封装,以获得由源设备发送的原始分组。原始分组从第二封装隧道端点被发送到相同特定覆盖网络中的目的地设备。
8.微服务应用
根据一个或多个实施例,本文描述的技术用微服务体系架构实现。这种上下文中的微服务是指被设计为可独立部署的软件逻辑,其具有可以逻辑地耦合到其它微服务以构建各种应用的端点。使用微服务构建的应用不同于单片应用,该单片应用被设计为单个固定单元并且通常包括单个逻辑可执行程序。通过微服务应用,不同的微服务可作为单独的可执行程序独立部署。微服务可以经由API端点根据其它通信协议和/或使用超文本传输协议(HTTP)消息进行通信。微服务可以单独进行管理和更新、用不同语言编写,并独立于其它微服务执行。
微服务提供了管理和构建应用的灵活性。可以通过连接不同的微服务集合来构建不同的应用,而无需改变微服务的源代码。因此,微服务充当逻辑构建块,该逻辑构建块可以以各种方式布置以构建不同的应用。微服务可以提供监视服务,该监视服务在暴露于微服务管理器的触发事件集合中的触发事件发生时通知微服务管理器(诸如If-This-Then-That(IFTTT)、Zapier或Oracle自助服务自动化(OSSA))。针对应用暴露的微服务可以替代地或附加地基于从微服务管理器接收到的数据提供在应用中执行动作的动作服务(通过传递值、将动作连接到其它触发器和/或从微服务管理器中的其它动作传递的数据,经由微服务管理器可控制和可配置)。微服务触发器和/或动作可以被链接在一起以形成在可选的不同应用中发生的动作的配方,这些应用以其他方式彼此不知道(unaware)或者不具有对彼此的控制或依赖性。这些受管理的应用可以例如利用用户向管理器供应的应用凭据被认证或插入到微服务管理器中,而无需每次受管理的应用被单独使用或与其它应用结合使用时进行重新认证。
在一个或多个实施例中,微服务可以经由GUI连接。例如,微服务可以被显示为GUI的窗口、框架、其它元素内的逻辑块。用户可以将微服务拖放到用于构建应用的GUI的区域中。用户可以使用有向箭头或任何其它GUI元素将一个微服务的输出连接到另一个微服务的输入。应用构建器可以运行验证测试(例如,通过检查数据类型、尺寸限制等)以确认输出和输入是兼容的。
触发器
根据一个或多个实施例,可以将上述技术封装到微服务中。换句话说,微服务可以基于上述技术来触发通知(该通知进入到微服务管理器中以供本文称为“目标”微服务的其它插入的应用可选地使用)和/或可以被表示为GUI块并连接到一个或多个其它微服务。触发条件可以包括值的绝对或相对阈值,和/或要分析的数据量或数据持续时间的绝对或相对阈值,使得每当插入的微服务应用检测到越过阈值时,就发生对微服务管理器的触发。例如,当微服务应用检测到值已越过触发阈值时,用户可以请求触发器进入微服务管理器。
在一个实施例中,触发器在被满足时可以输出数据以供目标微服务消耗。在另一个实施例中,触发器在被满足时输出指示触发器已满足的二进制值,或输出满足触发条件的字段名称或其它上下文信息。附加地或替代地,目标微服务可以连接到一个或多个其它微服务,使得向其它微服务输入警报。其它微服务可以基于上述技术执行响应动作,包括但不限于部署附加资源、调整系统配置和/或生成GUI。
动作
在一个或多个实施例中,插入的微服务应用可以向微服务管理器暴露动作。暴露的动作可以接收数据或数据对象的标识或数据的位置作为输入,这使得数据被移动到数据云中。
在一个或多个实施例中,暴露的动作可以接收增加或减少现有警报阈值的请求作为输入。输入可以识别现有的应用中(in-application)警报阈值以及是增加、减少还是删除阈值。附加地或替代地,输入可以请求微服务应用创建新的应用中警报阈值。应用中警报可以在用户登录到应用中时向用户触发警报,或者可以使用微服务应用本身内可用的默认的或用户选择的警报机制向用户触发警报,而不是通过插入到微服务管理器中的其它应用向用户触发警报。
在一个或多个实施例中,微服务应用可以基于识别、定位或提供历史数据并定义所请求的输出的程度或范围的输入来生成和提供输出。动作在被触发时,使得微服务应用提供、存储或显示例如作为数据模型或作为描述数据模型的聚合数据的输出。
在前述说明书中,已经参考许多具体细节描述了本发明的实施例,这些具体细节可能因实施方案而不同。因此,应当在说明性而不是限制性的意义上看待说明书和附图。本发明范围的唯一且排他的指示以及申请人意在要作为本发明范围的是以由本申请产生的一组权利要求的具体形式的所产生权利要求的字面和等同范围,包括任何后续的校正。
Claims (15)
1.一种或多种非瞬态机器可读介质,存储指令,所述指令在由一个或多个处理器执行时,使得:
至少基于与一个或多个系统选择的修复动作对数据库系统中的一个或多个有问题的系统行为的多个应用相关联的多个属性:确定截至一个或多个未来时间,第一修复动作对数据库系统中的特定有问题的系统行为的一个或多个未来应用的第一预测有效性;
确定第一修复动作的所述一个或多个未来应用的第一预测有效性是正面的,但不满足一个或多个性能标准;
响应于确定第一修复动作的所述一个或多个未来应用的第一预测有效性是正面的,但不满足所述一个或多个性能标准:
生成与第一修复动作的所述一个或多个未来应用的第一预测有效性不满足所述一个或多个性能标准对应的通知;
将第一修复动作应用到所述特定有问题的系统行为,尽管已经确定第一修复动作的所述一个或多个未来应用的第一预测有效性不满足所述一个或多个性能标准。
2.如权利要求1所述的一种或多种介质,还存储指令,所述指令在由一个或多个处理器执行时,使得:
监视所述数据库系统的一个或多个候选的有问题的系统行为;
在监视所述数据库系统的同时自动检测所述特定有问题的系统行为的实例,而不需要接收任何用户输入来识别所述特定有问题的系统行为的实例;
其中,将第一修复动作应用到所述特定有问题的系统行为是响应于在监视数据库系统的同时检测到所述特定有问题的系统行为的实例而自动执行的,而不需要在自动检测到所述特定有问题的系统行为的实例之后接收关于第一修复动作的任何用户输入。
3.如权利要求2所述的一种或多种介质,其中检测所述特定有问题的系统行为包括确定系统行为对于其中检测到所述系统行为的季节的一部分是有问题的,其中所述系统行为被确定为在被确定为随着时间重复的季节性模式内随着时间而变化。
4.如权利要求1所述的一种或多种介质,还存储指令,所述指令在由一个或多个处理器执行时,使得:
监视所述一个或多个系统选择的修复动作对所述数据库系统中的所述一个或多个有问题的系统行为的所述多个应用,以获得与所述一个或多个系统选择的修复动作的所述多个应用相关联的所述多个属性。
5.如权利要求1所述的一种或多种介质,还存储指令,所述指令在由一个或多个处理器执行时,使得:
确定第二修复动作对所述数据库系统中的所述特定有问题的系统行为的一个或多个未来应用的第二预测有效性;
基于第一预测有效性和第二预测有效性的比较,确定对于修复所述特定有问题的系统行为而言,第一修复动作是比第二修复动作更好的候选。
6.如权利要求5所述的一种或多种介质,还存储指令,所述指令在由一个或多个处理器执行时,使得:
确定第二修复动作与第一修复动作兼容,并且既将第一修复动作应用到所述特定有问题的系统行为又将第二修复动作应用到所述特定有问题的系统行为。
7.如权利要求1所述的一种或多种介质,还存储指令,所述指令在由一个或多个处理器执行时,使得:
经由所述数据库系统的管理界面接收用户输入以通过调整对未解决的有问题的系统行为进行故障排除所需的预期时间量来配置所述一个或多个性能标准;
至少基于所述用户输入来配置所述一个或多个性能标准。
8.如权利要求1所述的一种或多种介质,其中与所述一个或多个系统选择的修复动作的所述多个应用相关联的所述多个属性至少包括:
与第一修复动作对所述特定有问题的系统行为的第一应用相关联的所述多个属性的第一子集;以及
与第一修复动作对所述特定有问题的系统行为的第二应用相关联的所述多个属性的第二子集。
9.如权利要求1所述的一种或多种介质,其中确定第一修复动作的所述一个或多个未来应用的预测有效性是正面的但不满足所述一个或多个性能标准包括以下中的一个或多个:
预测第一修复动作对所述特定有问题的系统行为的一系列应用是有效的但有效性降低,或者
预测在第一修复动作的所述一个或多个未来应用之后,所述有问题的系统行为将在阈值时间量内再现。
10.如权利要求1所述的一种或多种介质,其中确定第一修复动作对所述特定有问题的系统行为的所述一个或多个未来应用的第一预测有效性是进一步基于描述对所述数据库系统执行的一个或多个手动动作的元数据而进行的。
11.如权利要求1所述的一种或多种介质,其中确定第一修复动作对所述数据库系统中的所述特定有问题的系统行为的一个或多个未来应用的第一预测有效性包括:
将当前系统状态数据应用到机器学习模型,所述机器学习模型被配置为预测修复动作的未来有效性;以及
使用与所述一个或多个系统选择的修复动作对所述数据库系统中的所述一个或多个有问题的系统行为的所述多个应用相关联的所述多个属性来训练所述机器学习模型。
12.如权利要求1所述的一种或多种介质,其中所述特定有问题的系统行为与增加的数据库响应时间、增加的处理器利用率、减少的可用数据库存储或增加的数据库请求率中的一个或多个相关联。
13.如权利要求1所述的一种或多种介质,其中所述通知包括以下中的一个或多个:
到图形用户界面的第一链接,用于使不同的用户选择的修复动作解决所述一个或多个有问题的系统行为,
到图形用户界面的第二链接,用于在所述一个或多个有问题的系统行为再次出现时,增加针对所述一个或多个有问题的系统行为的用户选择的不同修复动作的权重,
到图形用户界面的第三链接,用于在所述一个或多个有问题的系统行为再次出现时,定义针对所述一个或多个有问题的系统行为的新的修复动作,
到图形用户界面的第四链接,用于将所述一个或多个有问题的系统行为标记为已解决,或者
到图形用户界面的第五链接,用于关于在特定日期之前针对所述一个或多个有问题的系统行为尝试的修复动作,清理机器学习引擎的存储器。
14.一种系统,包括:
包括硬件处理器的至少一个设备;
所述系统被配置为执行如权利要求1-13中的任一项所述的操作。
15.一种用于执行如权利要求1-13中的任一项所述的操作的方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/532,548 US11288117B2 (en) | 2019-08-06 | 2019-08-06 | Predictive system remediation |
US16/532,548 | 2019-08-06 | ||
PCT/US2020/041912 WO2021025828A1 (en) | 2018-10-22 | 2020-07-14 | Predictive system remediation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113454604A true CN113454604A (zh) | 2021-09-28 |
Family
ID=74498483
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202080010869.8A Pending CN113454604A (zh) | 2019-08-06 | 2020-07-14 | 预测性系统修复 |
Country Status (4)
Country | Link |
---|---|
US (2) | US11288117B2 (zh) |
EP (1) | EP3887958B1 (zh) |
KR (2) | KR20240042122A (zh) |
CN (1) | CN113454604A (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11227209B2 (en) * | 2019-07-31 | 2022-01-18 | Dell Products L.P. | Systems and methods for predicting information handling resource failures using deep recurrent neural network with a modified gated recurrent unit having missing data imputation |
US11632310B2 (en) * | 2020-02-13 | 2023-04-18 | Acronis International Gmbh | Systems and methods for pattern-based quality of service (QoS) violation prediction |
US11099928B1 (en) * | 2020-02-26 | 2021-08-24 | EMC IP Holding Company LLC | Utilizing machine learning to predict success of troubleshooting actions for repairing assets |
US20210326436A1 (en) * | 2020-04-21 | 2021-10-21 | Docusign, Inc. | Malicious behavior detection and mitigation in a document execution environment |
US11461162B2 (en) * | 2020-07-06 | 2022-10-04 | Ringcentral, Inc. | Maze-driven self-diagnostics using reinforcement learning |
US20220027257A1 (en) * | 2020-07-23 | 2022-01-27 | Vmware, Inc. | Automated Methods and Systems for Managing Problem Instances of Applications in a Distributed Computing Facility |
US11675687B2 (en) * | 2020-09-01 | 2023-06-13 | Bmc Software, Inc. | Application state prediction using component state |
US11836032B2 (en) * | 2020-10-15 | 2023-12-05 | State Farm Mutual Automobile Insurance Company | Error monitoring and prevention in computing systems based on determined trends and routing a data stream over a second network having less latency |
US11893644B2 (en) | 2020-10-15 | 2024-02-06 | State Farm Mutual Automobile Insurance Company | Intelligent user interface monitoring and alert |
JP2022116776A (ja) * | 2021-01-29 | 2022-08-10 | 株式会社日立製作所 | 保守支援装置、保守支援方法、及び保守支援プログラム |
US11398960B1 (en) * | 2021-04-09 | 2022-07-26 | EMC IP Holding Company LLC | System and method for self-healing of upgrade issues on a customer environment |
KR102392469B1 (ko) * | 2021-05-04 | 2022-04-29 | 에스디티 주식회사 | 트러블 슈팅을 위한 프로젝트 서버의 복제 방법 및 이를 이용한 클라우드 개발 플랫폼 시스템 |
US11625292B2 (en) | 2021-05-27 | 2023-04-11 | EMC IP Holding Company LLC | System and method for self-healing of upgrade issues on a customer environment and synchronization with a production host environment |
US20230089783A1 (en) * | 2021-09-20 | 2023-03-23 | Salesforce, Inc. | Generating scalability scores for tenants using performance metrics |
US11914550B1 (en) * | 2022-12-02 | 2024-02-27 | Truist Bank | Self-healing server file system with space cleanup |
Family Cites Families (30)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6145089A (en) * | 1997-11-10 | 2000-11-07 | Legato Systems, Inc. | Server fail-over system |
US20020091972A1 (en) * | 2001-01-05 | 2002-07-11 | Harris David P. | Method for predicting machine or process faults and automated system for implementing same |
US7293201B2 (en) * | 2003-01-17 | 2007-11-06 | Microsoft Corporation | System and method for active diagnosis and self healing of software systems |
JP2004309998A (ja) * | 2003-02-18 | 2004-11-04 | Nec Corp | 確率分布推定装置および異常行動検出装置,ならびにその確率分布推定方法および異常行動検出方法 |
US7111188B2 (en) * | 2003-07-31 | 2006-09-19 | International Business Machines Corporation | Dynamically configurable fault tolerance in autonomic computing with multiple service points |
US7487494B2 (en) * | 2004-08-02 | 2009-02-03 | International Business Machines Corporation | Approach to monitor application states for self-managing systems |
US7788536B1 (en) * | 2004-12-21 | 2010-08-31 | Zenprise, Inc. | Automated detection of problems in software application deployments |
US7752425B2 (en) * | 2006-05-30 | 2010-07-06 | Arm Limited | Data processing apparatus having trace and prediction logic |
WO2008083345A2 (en) * | 2006-12-30 | 2008-07-10 | Peak8 Partners, Llc | Technical support agent and technical support service delivery platform |
US8028277B2 (en) * | 2007-05-21 | 2011-09-27 | International Business Machines Corporation | Self-healing system and method for code optimization in a computing environment |
US20090276469A1 (en) * | 2008-05-01 | 2009-11-05 | International Business Machines Corporation | Method for transactional behavior extaction in distributed applications |
CN102257520B (zh) * | 2008-10-16 | 2018-02-06 | 慧与发展有限责任合伙企业 | 应用的性能分析 |
US8516312B2 (en) * | 2009-03-16 | 2013-08-20 | Peter Beasley | Behavior-based invention for predicting and avoiding network downtime |
US9152463B2 (en) * | 2010-01-20 | 2015-10-06 | Xyratex Technology Limited—A Seagate Company | Electronic data store |
US8627147B2 (en) * | 2011-05-17 | 2014-01-07 | International Business Machines Corporation | Method and computer program product for system tuning based on performance measurements and historical problem data and system thereof |
JP6002856B2 (ja) * | 2013-11-08 | 2016-10-05 | 株式会社日立製作所 | 監視システム、及び、監視方法 |
SG10201407299RA (en) * | 2013-11-08 | 2015-06-29 | Accenture Global Services Ltd | Network node failure predictive system |
US9519869B2 (en) * | 2013-11-25 | 2016-12-13 | International Business Machines Corporation | Predictive computer system resource monitoring |
US9798598B2 (en) * | 2013-11-26 | 2017-10-24 | International Business Machines Corporation | Managing faults in a high availability system |
AU2014101209A4 (en) * | 2014-09-18 | 2014-11-13 | Tech Mahindra Ltd. | System and method for orchestrating dynamic recovery actions for business services across traditional and sdn supporting openflow protocol |
US9785522B2 (en) * | 2014-11-14 | 2017-10-10 | Cisco Technology, Inc. | Adaptive datacenter topology for distributed frameworks job control through network awareness |
IN2015CH00883A (zh) * | 2015-02-24 | 2015-04-10 | Wipro Ltd | |
US20180005127A1 (en) * | 2016-06-29 | 2018-01-04 | Alcatel-Lucent Usa Inc. | Predicting problem events from machine data |
US10423522B2 (en) * | 2017-04-12 | 2019-09-24 | Salesforce.Com, Inc. | System and method for detecting an error in software |
US11475291B2 (en) * | 2017-12-27 | 2022-10-18 | X Development Llc | Sharing learned information among robots |
US20200112489A1 (en) * | 2018-10-03 | 2020-04-09 | Centurylink Intellectual Property Llc | Intelligent Network Equipment Failure Prediction System |
US10602383B1 (en) * | 2018-10-15 | 2020-03-24 | Microsoft Technology Licensing Llc | Application of machine learning for building predictive models enabling smart fail over between different network media types |
US11538237B2 (en) * | 2019-01-15 | 2022-12-27 | Accenture Global Solutions Limited | Utilizing artificial intelligence to generate and update a root cause analysis classification model |
US11630971B2 (en) * | 2019-06-14 | 2023-04-18 | Red Hat, Inc. | Predicting software performace based on different system configurations |
US11354222B2 (en) * | 2019-06-27 | 2022-06-07 | Capital One Services, Llc | Discovery crawler for application dependency discovery, reporting, and management tool |
-
2019
- 2019-08-06 US US16/532,548 patent/US11288117B2/en active Active
-
2020
- 2020-07-14 KR KR1020247008649A patent/KR20240042122A/ko active Search and Examination
- 2020-07-14 CN CN202080010869.8A patent/CN113454604A/zh active Pending
- 2020-07-14 EP EP20751832.5A patent/EP3887958B1/en active Active
- 2020-07-14 KR KR1020217034967A patent/KR102649215B1/ko active IP Right Grant
-
2022
- 2022-03-28 US US17/705,760 patent/US11860729B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR20220038586A (ko) | 2022-03-29 |
US20220245020A1 (en) | 2022-08-04 |
US11860729B2 (en) | 2024-01-02 |
KR20240042122A (ko) | 2024-04-01 |
KR102649215B1 (ko) | 2024-03-20 |
EP3887958A1 (en) | 2021-10-06 |
US11288117B2 (en) | 2022-03-29 |
EP3887958B1 (en) | 2022-03-09 |
US20210042180A1 (en) | 2021-02-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11860729B2 (en) | Predictive system remediation | |
US12131142B2 (en) | Artificial intelligence driven configuration management | |
US10048996B1 (en) | Predicting infrastructure failures in a data center for hosted service mitigation actions | |
US9904534B2 (en) | Inter-tenant and intra-tenant flock management | |
WO2021025828A1 (en) | Predictive system remediation | |
US11805005B2 (en) | Systems and methods for predictive assurance | |
US20190342178A1 (en) | Distributed rules engine for processing events associated with internet of things devices | |
US10725763B1 (en) | Update and rollback of configurations in a cloud-based architecture | |
US11934972B2 (en) | Configuration assessment based on inventory | |
CN112835604B (zh) | 系统灰度版本发布管理方法、系统、设备和介质 | |
CN118119926A (zh) | 基于候选运行手册的结果与事件的补救的相关性推荐候选运行手册 | |
US11481228B2 (en) | Self-service orchestration platform | |
US20230047781A1 (en) | Computing environment scaling | |
US20210397469A1 (en) | Systems and methods for computing a success probability of a session launch using stochastic automata | |
US20230319083A1 (en) | Point-in-time relative outlier detection | |
Gulenko et al. | Anomaly Detection and Levels of Automation for AI-Supported System Administration | |
US20240289817A1 (en) | Sales orchestration using iterative machine learning | |
US20240362033A1 (en) | Dynamic adjustment of components running as part of embedded applications deployed on information technology assets | |
US20240303170A1 (en) | Proactive method to predict system failure and recommend user for an uninterrupted connection while remotely managing devices | |
US20240126564A1 (en) | Configuring an enriched data metrics pipeline | |
US20240346248A1 (en) | Source code documentation dehydrator | |
US20240095099A1 (en) | Decentralized framework for providing application programming interface gateways | |
US20240143777A1 (en) | Instrumenting observability controls | |
CN118119927A (zh) | 用于针对检测到的事件推荐运行手册的方法和系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |