当前位置: 首页 > 专利查询>微软公司专利>正文

作为服务的故障检测与恢复制造技术

技术编号:7900536 阅读:115 留言:0更新日期:2012-10-23 06:02
由监控节点进行的对由被监控节点执行的进程的监控经常被设计为紧密耦合交互,但是这种耦合可以降低监控资源和进程的再使用并且增加了监控情况的管理复杂性。相反,故障检测和恢复可以被设计为一种非专有服务,其中一组被监控的节点连同执行一组进程可以注册以便由一组监控节点监控。在进程或整个被监控节点故障的情况下,监控节点可以合作来发起在相同或替代的被监控节点上重启所述进程(可能处于由相应进程最后报告的状态)。此外,监控节点的故障可被检测到,并且所有被分配给故障的监控节点的被监控节点可以被重新分配给替代的监控节点。

【技术实现步骤摘要】
作为服务的故障检测与恢复
技术介绍
在计算领域,许多情形涉及计算机系统中的故障检测,比如干扰进程;进程所利用的资源的不可用性,比如唯一地被另一个进程锁定的空闲存储器或资源的耗尽;进程无能力完成任务;进程的逻辑故障,其导致资源的消耗、无穷尽的循环或应用崩溃;或设备的硬件故障,其中断进程的执行。这样的故障的严重程度为从好奇到不便到严重的问题(例如在实时进程或正常运行时间用户所依赖的进程中的故障)。在这些和其他情形中,管理员可以努力监控该进程,比如利用在同一个设备或另一个设备上运行的监控进程来监控被监控进程的实现(instrumentation),验证被监控进程继续按预期运行、提供可接受性能以及对用户而言是可访问的。如果被监控进程显示出故障的指示或变得不可及,则监控进程可以在日志中记录这些指示或者可以通知管理员。
技术实现思路
通过简化形式提供该
技术实现思路
以引入概念的选择,在下文的具体实施方式中对其进一步描述。该
技术实现思路
不旨在标识要求保护的主题的关键因素或必要特征,也不旨在用于限制要求保护的主题的范围。监控进程和被监控进程的接口经常是高度专用且专有的。例如,要被监控的进程可以报告指示其状况(status)的一组专用度量,并且/或者可以以专用方式报告这样的度量,比如特定类型的日志或事件模型或特定位置。该监控进程还可以特别地被设计成与被监控进程耦合(例如,以便评估日志,预订事件和/或查询被监控进程)。该监控进程和被监控进程可以一起表示一对紧密耦合的互操作进程。然而,该监控进程和被监控进程的专用化(specialization)可能在某些方面是低效的。作为第一实例,每个被监控进程可以具有对应的监控进程,并且对许多被监控进程的监控可涉及许多监控进程的部署,其中每个监控进程监控一个进程。该耦合可以降低监控设备的再使用(例如,可能难以配置一组机器来监控一组进程)。作为第二实例,可能罕见的是建立对正在监控第二进程的第一进程的监控(在同一个机器或另一个机器上)。作为第三实例,监控的每种情形可能有轻微不同或显著不同(例如向管理员通知故障指示符的方式,被不同进程使用的故障指示符的类型,以及日志文件的位置、格式和语义使用),导致在系统的管理方面复杂性增加。本文提出了用于将故障监控实现为标准化服务的技术。根据这些技术,可以提供一组一个或多个监控节点,其被配置成执行对执行要被监控的一个或多个进程的各个被监控节点的监控。一个或多个被监控节点可以向监控节点注册(register)以便监控,并且可以发起对这些进程的状况(可能包括这些进程的状态(例如不仅仅包括进程是否正在运行,而且还包括该进程的内部状态))的周期性报告。监控节点可以记录该信息,并且可以在接收到进程或被监控节点正在遭遇困难或已经停止报告的指示时采取行动。例如,该监控节点可以请求重启不再报告的进程,包括重启处于由被监控节点最后报告的状态的该进程,并且还可以请求在不同的被监控节点上重启该进程。如果被监控节点完全停止响应,则监控节点可以选择替代的被监控节点,并且可以请求在该替代的被监控节点上重启所有这些进程(可能处于最后报告的状态)。而且,在涉及一组两个或更多监控节点的情形中,监控节点还可以相互监控。例如,被监控节点可以被指派(assign)向特定监控节点报告。而且,监控节点可以周期性地使其中的监控信息同步(例如每个监控节点可以告知其他监控节点分配给它的被监控节点、在其上执行的被监控进程和每个这样的被监控进程的状况和/或可能地状态)。如果监控节点故障(例如停止向其他监控节点报告),则其他监控节点可以选择替代的监控节点,该故障监控节点的所有被监控节点可以被重新分配给该替代的监控节点。根据这些技术的故障检测和故障恢复的实现方式可以呈现一些优点。作为第一实例,这些技术可以使得故障容忍能够被作为非专用的、非专有的、基于预订的服务提供,其中一组监控节点可以合作来监控一组被监控节点上的任意参与进程,而不管被监控的进程的类型或被监控节点的作用如何。作为第二实例,这些技术可以促进监控资源的高效使用;例如,执行少量监控进程的单组监控节点可以被配置成监控大且多样的一组被监控节点和被监控进程。作为第三实例,这些技术使得监控节点能够承担故障监控节点的角色(例如,通过接纳(adopt)先前分配给该故障监控节点的被监控节点),并且使得被监控节点能够承担故障被监控节点的角色(例如在故障时刻重启由被监控节点执行的进程)。节点的这种冗余和可替代性可以通过在减少被监控进程和/或监控服务的中断的同时从故障中恢复来促进高可用性。作为第四实例,这些技术可以促进监控服务的可扩展性;例如,被监控节点和进程可以容易地注册以便监控,并且监控能力可以简单地通过添加更多的监控节点来扩展。这些和其他优点可以通过根据本文所提供的技术实现监控情形来实现。为了实现前述和相关目的,下面的描述和附图阐述了某些说明性方面和实现方式。这些仅仅指示可以使用一个或多个方面的各种方式中的一些。本公开的其他方面、优点和新颖特征将根据下面在结合附图考虑时的详细描述而变得清楚明白。附图说明图1是以由监控节点对被监控节点所执行的进程进行监控为特征的示范性情况的图示。图2是以一组监控节点为特征的示范性情况的图示,其中该组监控节点被配置成根据本文所提出的技术监控由一组被监控节点执行的一个或多个进程。图3是图示配置监控节点以监控一个或多个被监控节点上的一个或多个进程的示范性方法的流程图。图4是图示配置被监控节点参与由一个或多个被监控节点进行的监控的示范性方法的流程图。图5是包括被配置成体现本文所提及的一个或多个指配(provisions)的处理器可执行指令的示范性计算机可读介质的图示。图6是以被配置成监控被监控节点的进程的状态且处理进程或被监控节点的故障的监控节点为特征的示范性情况的图示。图7是以被配置成在检测到由被监控节点执行的相应进程已经进入特定状态时执行逻辑的监控节点为特征的示范性情况的图示。图8是以被配置成彼此相互监控并处理监控节点的故障的一组监控节点为特征的示范性情况的图示。图9图示了可实现本文所提及的一个或多个指配的示范性计算环境。具体实施方式现在参考附图描述要求保护的主题,其中相同的附图标记始终用于指代相同的元件。在下面的描述中,为了解释的目的,许多特定细节被阐述,以便提供对要求保护的主题的彻底理解。然而,可能显然的是,要求保护的主题可以在没有这些特定细节的情况下被实施。在其他情况中,以框图形式示出结构和设备,以便便于描述要求保护的主题。在计算领域内,许多情形涉及对由在故障情况下要被监控的一个或多个节点(例如,各种类型的设备和计算机,和/或在其上运行的模拟运行环境)执行的一个或多个进程的监控。进程可以由于各种原因(例如,干扰进程;进程所利用的资源的不可用性,比如唯一地被另一个进程锁定的空闲存储器或资源的耗尽;进程未能完成任务;进程中导致资源消耗的逻辑故障,无穷尽的循环或应用崩溃)发生故障。此外,整个节点可能经历软件或硬件故障(例如,处理器过热、供电或网络访问停止、硬盘故障或操作系统崩溃)。这样的故障的结果可以覆盖某个范围的严重程度,比如好奇、不便或受挫,以及严重的问题(例如,实时进程可以在具有严格的定时参数的情况内执行,比如在装配线上操作机器人的运动的进本文档来自技高网...
作为服务的故障检测与恢复

【技术保护点】
一种配置具有处理器(156)的监控节点(18)以监控执行至少一个进程(16)的被监控节点(14)的方法(50),该方法(50)包括:在处理器(156)上执行(54)指令(96),该指令(96)被配置成:在接收监控被监控节点(14)的请求时,注册(56)被监控节点(14)的至少一个进程(16)以便监控;在从被监控节点(14)的进程(16)接收至少一个状况(42)时,记录(58)进程(16)的状况(42);以及在检测到被监控节点(14)的至少一个进程(16)的故障时,在被监控节点(14)上重启(60)进程(16)。

【技术特征摘要】
2011.03.31 US 13/0769631.一种配置具有处理器(156)的第一监控节点(18)以监控执行至少一个进程(16)的被监控节点(14)的方法(50),包括在监控节点组中的所述第一监控节点包括至少一个其他监控节点,所分配的各监控节点用于对被监控节点子集进行监控,该方法(50)包括:响应于接收来自被监控节点的、请求第一监控节点对所述被监控节点(14)上执行的至少一个进程进行监控:将被监控节点添加到分配给第一监控节点的被监控节点子集;以及注册(56)被监控节点(14)所述的至少一个进程(16)以便监控;响应于接收到来自被监控节点的逻辑集合,针对被监控节点上执行的进程的相应状态,响应于被监控节点报告所述状态关联一个待执行的逻辑,与被监控节点的相应状态相关联地存储所述逻辑集合;在存储逻辑集合之后,响应于检测到被监控节点的进程已经进入所选择的状态,在第一监控节点处以及代表被监控节点,执行与被监控节点的逻辑集合中进程的所选择状态相关联的逻辑;以及响应于检测到被监控节点(14)的至少一个进程(16)的故障时,重启(60)进程(16)。2.权利要求1的方法:至少一个被监控节点被配置成在通知周期内向监控节点发送持久性指示符;以及检测故障包括:在尚未从被监控节点接收到持久性指示符的情况下检测通知周期的流逝。3.权利要求1的方法:第一监控节点监控至少两个被监控节点;以及在被监控节点上重启至少一个进程,包括:选择替代的被监控节点,以及在替代的被监控节点上重启被监控节点的至少一个进程。4.权利要求3的方法:检测被监控节点的至少一个进程的故障包括:检测被监控节点的故障;以及在被监控节点上重启所述至少一个进程包括:在替代的被监控节点上重启被监控节点的所有进程。5.权利要求1的方法:被监控节点的至少一个进程被配置成向第一监控节点报告至少一个进程的...

【专利技术属性】
技术研发人员:A卡蒂亚CB波利纳蒂
申请(专利权)人:微软公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1