用于检测一个节点的操作风险的方法和系统的制作方法

文档序号:6421115阅读:97来源:国知局
专利名称:用于检测一个节点的操作风险的方法和系统的制作方法
发明
背景技术
1.技术领域总的来说,本发明提供了一种用于检测一个节点的操作风险的方法、系统和程序产品。具体地,本发明允许根据一个服务器相对于其它类似配置的服务器的性能检测该服务器的操作风险。
2.背景技术随着计算机技术的使用变得更加普遍,正被实现的计算机网络的复杂性不断增加。具体地,现在许多业务实现了利用很多服务器的计算机网络(例如,LAN、WAN、VPN等)。这种服务器的作用是典型的(即,执行计算、处理请求、服务于文件等)。在许多例子中,如果就某一组参数来说是不相同的,则服务器被配置为类似地执行。例如,通常被称作“服务器农场”的一个服务器池(pool)或者一组相同的服务器常常被用来服务于高容量的网站。类似地,存储器服务器常常被组合起来。
不幸地,随着越来越依赖于这些服务器,由于各种原因可能会出现降低了的性能乃至全面故障。这种原因包括例如软件故障、硬件错误等。由于管理员能够及时地执行校正措施以避免较大的生产率损失,所以性能下降的早期检测通常是至关重要的。典型的校正措施的例子是从一个“有问题的”服务器中移出用户或者应用程序、重新启动程序包、重新引导或者代替服务器等。
迄今为止,性能下降的检测已经是一个静态过程了。具体地,根据一个或多个运行情况(参数),监控每个服务器的性能,并且将其与某些预先设置的外部等级相比较。例如,测定每个服务器上的处理器负载,然后使之与一个“可接受的”等级相比较。如果任何一个服务器中的处理器负载(例如,CPU负载)超过了可接受的等级,则能够生成一个警告,并且执行校正措施。然而,通过使对可能的性能下降的检测基于一个外部等级,产生了许多问题。例如,外部等级事实上可能不是“正常”性能的准确指示。因此,可能会执行不必要的警告和校正措施。在很多情况下,确定“正常”性能的最好方法是观察其它类似配置的服务器是如何执行的。如果所有其它服务器正在以类似的方式执行(例如,具有类似的处理负载)而没有问题,则可能没有必要执行校正措施。不幸地,已有的解决方案并没有提供这种功能性。
考虑到上述问题,存在对用于检测一个节点的操作风险的方法、系统和程序产品的需要。具体地,存在通过比较一个节点的性能和其它类似(或者相同)配置的节点的性能来检测该节点的操作风险的需要。对如果一个节点的性能与其它节点的性能的差异超过当前容差(tolerance),则进一步存在检测操作风险的需要。

发明内容
总的来说,本发明提供了一种用于检测一个节点的操作风险(即,可能的故障或者性能下降的风险)的方法、系统和程序产品。具体地,在本发明中,监控并且比较多个类似配置的节点的性能。如果一个节点呈现出一个与其它节点的性能的差异超过当前容差的性能,则检测到操作风险。当前容差能够基于条件/规则和/或性能历史记录的任何集合。后者允许根据该节点的实际运转状态微调或者偏置容差。无论如何,如果检测到操作风险,则能够生成一个警告,并且执行一个或多个校正措施。
依据本发明的第一方面,提供了一种用于检测一个节点的操作风险的方法。该方法包含(1)提供多个节点,其中这多个节点是被类似配置的;(2)监控这多个节点中每一个的性能;以及(3)如果这多个节点中一个节点的监控的性能不同于其它节点的监控性能超过当前容差,则检测操作风险。
依据本发明的第二方面,提供了一种用于检测一个节点的操作风险的系统。该系统包含(1)一个输入系统,用于接收用于多个类似配置的节点中每一个的监控性能;以及(2)一个检测系统,用于检测多个类似配置的节点中一个的操作风险,其中,如果这一个节点的监控的性能不同于其它节点的监控性能超过当前容差,则检测到操作风险。
依据本发明的第三方面,提供了一种存储在一种可记录的介质上、用于检测一个节点的操作风险的程序产品。当被执行时,该程序产品包含(1)用于接收用于多个类似配置的节点中每一个的监控性能的程序代码;以及(2)用于检测多个类似配置的节点中一个的操作风险的程序代码,其中,如果这一个节点的监控性能不同于其它节点的监控性能超过当前容差,则检测到操作风险。
因此,本发明提供了一种用于检测一个节点的操作风险的方法、系统和程序产品。


通过结合附图给出的本发明中各个方面的下列详细说明,本发明的这些及其它特征将会更容易被理解,其中图1依据本发明的一个实施例描述了一个用于检测一个节点的操作风险的系统。
图2依据本发明的另一个实施例描述了一个用于检测一个节点的操作风险的系统。
图3依据本发明的另一个实施例描述了一个用于检测一个节点的操作风险的系统。
图4描述了图1中的系统的更详细的框图。
这些附图仅仅是示意的表示,并非描绘本发明中的特定参数。这些附图仅仅描述本发明中典型的实施例,并且因此不应该被认为是限制本发明的范围。在附图中,类似的标记表示类似的单元。
具体实施例方式
如以上所指出的,本发明提供了一种用于检测一个节点的操作风险(即,可能的故障或者性能下降的风险)的方法、系统和程序产品。具体地,在本发明中,监控并且比较多个类似配置的节点的性能。如果一个节点呈现出一个与其它节点的性能的差异超过当前容差的性能,则检测到操作风险。当前容差可以是基于条件/规则和/或性能历史记录的任何集合。后者允许根据该节点的实际运转状态微调或者偏置当前容差。无论如何,如果检测到操作风险,则能够生成一个警告,并且执行一个或多个校正措施。
下面参见图1,显示了依据本发明一个实施例的一个用于检测一个节点的操作风险的系统。如描述的那样,该系统通常包括多个与控制系统14进行通信的节点10A-C。在本发明中,节点10A-C通常被相同配置。具体地,节点10A-C能够被配置为针对一组共用的(例如一个或多个)运行情况(参数)相同地执行。然而,应当理解,没有必要为使在此描述的示教成功而“相同地”配置节点10A-C。即,节点10A-C能够被“类似地”配置以考虑到在配置期间的细微变化。在任何情况下,需要为其监控每个节点10A-C的性能的典型运行情况包括CPU负载(平均的和波峰)、平均和峰值I/O响应时间、对交易类别(例如,黄金、银、青铜)的平均和峰值响应时间等。还应当理解,能够针对不同的运行情况来配置节点10A-C。在这样一种情况下,能够提供在节点10A-C的运行情况之间的映射(例如,节点10A的运行情况“X”对应于节点10B的运行情况“Z”)。
在本发明中,相对于每个节点10A-C的那组运行情况监控每个节点10A-C的性能,并且把它们与其它节点的性能相比。如果一个节点的性能(例如10A)不同于其它节点(例如,10B-C)的性能差异超过当前容差,则检测到操作风险。在如图1所示的实施例中,每个节点10A-C分别包括一个节点系统12A-C。每个节点系统12A-C将对该组运行情况中的每一种情况测量一个或多个“性能值”。一旦测量了性能值,每个节点系统12A-C将生成一个操作“报告”等,其包括相应节点的性能(例如,性能值)以及节点标识符。节点系统12A-C然后将这些操作报告传输到控制系统14。在接收后,操作系统16将分析这些操作报告,并且对节点10A-C的监控性能进行相互比较。如以上所指出的那样,如果一个节点(由节点标识符标识的)具有一个与其它节点的性能的差异超过了当前容差的性能,则检测到操作风险。例如,假定节点10A正呈现出30秒的平均I/O响应时间,而节点10B-C正呈现出0.5秒的平均I/O响应时间。进一步假定用于节点10A-C之间对平均I/O响应时间差异的当前容差为1.0秒。由于其差异大于1.0秒(例如,在这个例子中是29.5秒),所以显然检测到操作风险。
在于本发明中确定对差异的当前容差的过程中,能够执行许多方法。在一个实施例中,因为管理员等能够把容差编程到操作系统16中(例如,根据规则),这在容差被超过时会导致操作风险是已知的,所以当前容差能够是不变(静态)的。在另一个实施例中,当前容差能够是动态的,以便依据历史数据/趋势(即,性能历史记录)由操作系统16“微调”它们。这允许基于实际的操作条件而不是由固定管理员强加的规则的“正常”操作条件。例如,如果管理员设置的对平均I/O响应时间的容差为1.0秒,但是历史数据指示最多能够容许5.0秒的差异而没有引起操作风险,则管理员设置的容差能够被操作系统16自动地“更新”为5.0秒(或者在两者之间的某个值)。
无论如何,当检测到操作风险时,操作系统16能生成一个警告,并且选择性地执行任何校正措施以解决该操作风险。如以上所指出的那样,能够根据该节点和/或系统的性能历史记录改变当前容差。就这个方面来说,如果响应于一个特定差异生成了一个警告,但是管理员确定该差异实际上是可接受的,则将来对于同样的差异将不会产生警告(即,除非管理员指示将来应该注意该差异)。这允许本发明在操作期间进行“学习”。此外,就校正措施而论,能够为关于某些已知差异的进行某些措施编程。例如,响应于对某一特定运行情况的特定差异,软件组件可以被自动地重新启动。因此,本发明能够保持一个“措施目录”,其中根据它的性能历史记录(即,在解决一个特定操作风险时它的先前效用),能够来标识和执行一个特定的措施。
如图1中的实施例所示,节点12A-C向一个独立的控制系统14进行报告。然而,应当理解,不一定如此设置,也可以有许多其它变形。例如,如图2所示,操作系统16能够被加载在节点10A-C中的一个(例如节点10A)上。在这种情况下,节点10B-C将他们的操作报告传输到节点10A,而节点10A的操作报告能够保持在“本地”(即,在节点10A内)。在如图3所示的还有另一个实施例中,操作系统能够作为一个在所有节点10A-C上的分布式应用程序16A-C存在。在这个实施例中,每个节点10A-C将和其它节点交换它的操作报告。一旦一个节点已经接收了用于其它节点的操作报告,它就能够检测任一节点(包括它自己)是否具有操作风险。
不考虑执行的实施例,应当理解,操作报告能够依据任何时间表或者条件被传输到操作系统16(或者16A-C)。例如,每个节点系统12A-C能够被编程用以以预定时间间隔监控性能。每次测量性能时,能够生成一个操作报告,并且将其传输到操作系统16。做为选择,可以只在性能值改变或者改变超过一个设定量时,才进行报告。此外,报告可以基于预定时间间隔和性能值改变的组合。
此外,应当理解,使节点10A-C测量性能值、并且生成一个操作报告以供操作系统16(或者16A-C)使用仅仅是用于实现本发明的一个说明性的实施例。例如,能够通过查询(依据任何时间表或者条件)从操作系统16(或者16A-C)中获得性能值。这将会减少需要加载在节点10A-C上以实现本发明的软件。因此,不应将通过操作系统16(或者16A-C)获得性能值的方式作为本发明的一个限制特征。
无论如何,在节点10A-C之间和/或与控制系统14的通信能够经由一个直接的硬布线连接(例如,串行端口)、或者经由在客户-服务器(或者服务器-服务器)环境中的一个可寻址的连接进行,其中该可寻址的连接可以利用有线线路和/或无线传输方法的任意组合。在后者的情况下,服务器和客户机可以经由Internet、广域网(WAN)、局域网(LAN)、虚拟专用网络(VPN)或者其它专用网络连接。服务器和客户机可以利用常规的网络连通性、诸如TokenRing、Ethernet、WiFi或者其它传统的通信标准。在客户机和服务器经由Internet通信时,可以通过传统的基于TCP/IP报路(socket)的协议提供连通性。在这种情况下,客户机将利用Internet服务供应商来建立到服务器的连通性。
下面参见图4,显示了图1中的实施例的更详细的框图。如描绘的那样,控制系统14通常包含中央处理单元(CPU)30、存储器32、总线34、输入/输出(I/O)接口36、外部设备/资源38和数据库40。CPU 30可以包含单个处理单元,或者分布在一个或多个位置中的、例如在客户机和服务器上的一个或多个处理单元上。存储器32可以包含任何已知类型的数据存储器和/或传输介质,包括磁介质、光介质、随机存取存储器(RAM)、只读存储器(ROM)、数据高速缓存、数据对象等。此外,与CPU 30相似,存储器32可以驻留在单个物理位置,包含一种或多种类型的数据存储器,或者以各种形式分布在多个物理系统中。
I/O接口36可以包含任何用于向/从一个外部源交换信息的系统。外部设备/资源38可以包含任何已知类型的外部设备,包括扬声器、CRT、LED屏幕、掌上型设备、键盘、鼠标、语音识别系统、语音输出系统、打印机、监视器、传真、传呼机等。总线34在控制系统14中的每个组件之间提供了一个通信链路,并且同样地可以包含任何已知类型的传输链路、包括电的、光的、无线的等。此外,尽管未显示,额外的组件、诸如高速缓存存储器、通信系统、系统软件等也可以被引入到控制系统14中。
在本发明中数据库40提供了对信息的存储。这样的信息可以包括例如预定的容差,报告时间表、历史数据、校正措施等。同样地,数据库40可以包括一个或多个存储设备、诸如磁盘驱动器或者光盘驱动器。在另一个实施例中,数据库40包括分布在例如局域网(LAN)、广域网(WAN)或者存储区网络(SAN)(未显示)中的数据。数据库40还可以以使本领域技术人员可以把它解释为包括一个或多个存储设备的方式进行配置。应当理解,尽管为了简便起见没有显示,但是与控制系统14相似,节点10A-C通常包括计算机化的组件(例如,CPU、存储器等)。
如以上所指出的那样,每个节点10A-C将针对一组运行情况监控它的性能。将把监控的性能与其它节点的性能相比较。如果一个节点的性能与其它节点的性能的差异超过当前容差,则检测到操作风险。如描绘的那样,每个节点10A-C分别包括一个节点系统12A-C。每个节点系统12A-C包括性能系统18A-C、报告系统20A-C和输出系统22A-C。
在本发明中,性能系统18A-C通过测量该组运行情况下的特定性能值,来监测相应节点10A-C的性能。一旦已经确定了性能,报告系统20A-C就将生成操作报告,其包括性能值以及用于相应节点的标识符。一旦生成了操作报告,输出系统22A-C就将该操作报告传输到控制系统14。如以上所指出的那样,能够依据任何时间表或者条件执行报告的生成和/或传输。在任何情况下,操作报告将由操作系统16中的输入系统42接收。在接收后,检测系统44对节点10A-C的性能进行相互比较。如果任何一个节点呈现出一个与其它节点的性能的差异超过当前容差(存储在数据库40中)的性能,则检测到操作风险。在本发明中(如以上所指出的),预定的容差通常基于管理员设置的规则和/或历史数据。无论如何,如果检测到操作风险,则警告系统46能够生成和传输一个警告(例如,到管理员等)。然后校正措施系统48能够(选择性地)执行一个或多个校正措施以解决操作风险。就这个方面来说,与预定的容差相似,警告和校正措施可以基于历史数据。例如,能够根据在过去通过执行什么校正措施而成功地避免了特定操作风险,来执行某些校正措施。
本发明因此提供了一种与仅和某个预设标准比较相反、根据相互比较节点间的性能、来检测和解决对一组节点的操作风险的方法。这种方法比先前的系统更有效和精确,因为它通过其它类似或者相同节点正操作的方式、而不是仅仅通过一个外部理论上的标准来定义一个节点的正常状态。
还应当理解,本发明能够以硬件、软件、或者硬件和软件的组合来实现。任何种类的计算机/服务器系统-或者其它适合于实现在此描述的方法的装置都是适合的。一种典型的硬件和软件的组合能够是一个具有在被加载和执行时实现在此描述的相应方法的计算机程序的通用计算机系统。做为选择,能够使用包含专门的、用于实现本发明中的一个或多个功能任务的硬件的特定用途计算机。本发明还可以被嵌入在一个计算机程序产品中,其包含允许实现在此描述的方法的所有相应特征、并且在被加载到计算机系统中时能够实现这些方法。在当前环境中计算机程序、软件程序、程序、或者软件意味着以任何语言、代码或者符号的这样一组指令的任意表达,其中该组指令用于使具有信息处理性能的系统直接或者是在下列步骤任何一个或者两者之后执行一个特定功能(a)转换到另一种语言、代码或者符号;和/或(b)以一种不同的材料形式再现。
为了说明和描述起见而给出了这个发明的最佳实施例的上述描述。不应穷举或者限制本发明到所公开的精确形式,并且显然,许多修改和变化都是可能的。这些对本领域技术人员来说是显而易见的修改和变化应被包括在由附加的权利要求定义的发明范围内。例如,图1-4仅仅为了说明性的目的显示了一组3个节点。应当理解,在此描述的示教能够针对任意数量的节点而执行。此外,如以上所指出的,能够根据从操作系统16(或者16A-C)发出到节点10A-C的一个或多个查询而获得性能值。在这种情况下,操作系统16(或者16A-C)能够包括一个查询系统等,其包含用于生成和发布查询以获得所需要的性能值的程序代码。
权利要求
1.一种用于检测一个节点的操作风险的方法,包含提供多个节点,其中该多个节点被类似地配置;监控该多个节点中每一个的性能;以及如果该多个节点中的一个节点的监控性能与其它节点的监控性能的差异超过当前容差,则检测到操作风险。
2.如权利要求1所述的方法,其中监控步骤包含为多个节点中的每一个测量对应于一组运行情况的一组性能值。
3.如权利要求2所述的方法,其中监控步骤进一步包含为该多个节点中的每一个提供一个操作报告,并且其中每个操作报告包括所测量的该组性能值和对一个相应节点的标识符。
4.如权利要求3所述的方法,其中以预定时间间隔传递操作报告。
5.如权利要求1所述的方法,其中该多个节点包含多个服务器。
6.如权利要求1所述的方法,其中该多个节点被相同地配置。
7.如权利要求1所述的方法,其中当前容差是基于一组规则和性能历史记录中的至少一个。
8.如权利要求1所述的方法,进一步包含如果检测到操作风险,则生成一个警告。
9.如权利要求1所述的方法,进一步包含如果检测到操作风险,则标识和执行一个校正措施以解决该操作风险。
10.如权利要求9所述的方法,其中校正措施是根据在解决该操作风险时该校正措施的先前效用而被标识的。
11.一种用于检测一个节点的操作风险的系统,包含一个输入系统,用于接收对多个类似配置的节点中每一个的监控性能;以及一个检测系统,用于检测该多个类似配置的节点中一个的操作风险,其中,如果这一个节点的监控性能与其它节点的监控性能的差异超过当前容差,则检测到操作风险。
12.如权利要求11所述的系统,进一步包含一个用于如果检测到操作风险则生成一个警告的警告系统。
13.如权利要求11所述的系统,进一步包含一个用于如果检测到操作风险则执行一个校正措施的校正措施系统。
14.如权利要求11所述的系统,其中该多个节点包含多个服务器。
15.如权利要求11所述的系统,其中该多个节点被相同地配置。
16.如权利要求11所述的系统,其中当前容差基于一组规则和性能历史记录中的至少一个。
17.如权利要求11所述的系统,其中该多个类似配置的节点中的每一个包含一个监控系统,用于通过测量对应于一组运行情况的一组性能值来监控该节点的性能;一个报告系统,用于生成一个操作报告,其中该操作报告包括所测量的该组性能值和一个对应于该节点的标识符;以及一个输出系统,用于把操作报告传递到输入系统。
18.如权利要求17所述的系统,其中以预定时间间隔传递操作报告。
19.一种存储在一个可记录的介质上、用于检测一个节点的操作风险的程序产品,其在被执行时包含用于接收对多个类似配置的节点中每一个的监控性能的程序代码;以及用于检测该多个类似配置的节点中一个的操作风险的程序代码,其中,如果这一个节点的监控性能与其它节点的监控性能的差异超过当前容差,则检测到操作风险。
20.如权利要求19所述的程序产品,进一步包含用于如果检测到操作风险则生成一个警告的程序代码。
21.如权利要求19所述的程序产品,进一步包含用于如果检测到操作风险则执行一个校正措施的程序代码。
22.如权利要求19所述的程序产品,其中该多个节点包含多个服务器。
23.如权利要求19所述的程序产品,其中该多个节点是被相同地配置。
24.如权利要求19所述的程序产品,其中当前容差基于一组规则、和性能历史记录中的至少一个。
25.如权利要求19所述的程序产品,其中该多个类似配置的节点中的每一个包含用于通过测量对应于一组运行情况的一组性能值来监控该节点的性能的程序代码;用于生成一个操作报告的程序代码,其中该操作报告包括所测量的该组性能值和一个对应于该节点的标识符;以及用于把操作报告传递到输入系统的程序代码。
26.如权利要求25所述的程序产品,其中以预定时间间隔传递操作报告。
全文摘要
本发明提供一种用于检测一个节点的操作风险的方法和系统。在本发明中,监控并且比较多个类似配置的节点的性能。如果一个节点呈现出一个与其它节点的性能的差异超过当前容差的性能,则检测到操作风险。如果检测到,则能够生成一个警告,并且执行一个或多个校正措施以解决该操作风险。
文档编号G06F11/00GK1514588SQ20031012038
公开日2004年7月21日 申请日期2003年12月11日 优先权日2002年12月17日
发明者戴维·L·卡明斯基, 戴维 L 卡明斯基, 约翰·迈克尔·莱克, 迈克尔 莱克 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1