用于计算机网络中的自动数据异常修正的系统和方法

文档序号:6479388阅读:264来源:国知局
专利名称:用于计算机网络中的自动数据异常修正的系统和方法
技术领域
本发明涉及用于自动计算机支持的系统和方法。
背景技术
对于计算机网络,即使相对比较小的计算机网络的管理都可能是困难的。网络管 理者或是管理员通常负责确保用户计算机正常地操作,从而最大化生产率并且最小化故障 时间。当计算机开始不规律地工作或是彻底停止工作时,用户通常会联系系统管理员寻求 帮助。如2004年8月11日提交并且公开为US 2005/0038827的共同未决美国专利申请 No. 10/916, 956 ("956申请”)中所阐述的,调查、诊断并且解决与计算机网络上的个人计算 机相关联的问题会涉及大量的人力成本。使得给定的计算机不正常工作的原因可能有很多,包括遗漏或是损坏的文件或是 注册表键、“恶意软件”(包括病毒等)以及用户错误。遗憾的是,典型组织的信息技术(IT) 部门通常缺乏资源或是能力来接收关于给定计算机的所报告问题通知,并在此后对该计算 机进行调查以标识出该问题的根本原因,从而对所述给定计算机进行适当的修补/修复/ 修正。因此,网络管理者以及IT部门通常不会对多数报告的计算机问题的细节进行研究, 而是诉诸三种常见的“强力”方法来解决所报告的问题,即备份,其中用预先存储的备份版本来替换整个系统或是应用;黄金映像,其中所有的应用和数据被重置回基线配置;和/或重映像,其中在计算机上再次重新安装所有的软件。如本领域技术人员能够理解的,上述用于计算机问题矫正的“强力”方法实际上是 覆盖式的数据替换方法,其并非响应以修补例如给定计算机上单个特定问题,并且还经常 会给计算机用户带来许多不希望的副作用。例如,用户可能会遗漏用户定制的设置,可能必 须在很长的故障停机时间段内进行工作,或是担心遗漏用户数据。鉴于维护用户数据以及避免不必要的故障停机时间的重要性,需要提供一种用于 计算机问题矫正的不同方法。

发明内容
本发明的实施方式提供了利用很少的或是无需人为干预来修补或是修复在存储 于计算机上的计算机数据中检测到的异常的系统和方法。本发明的一个特征在于利用来自 供给方(Donor)计算机的无损坏可用数据或是“资产”(例如,但不限于文件、文件的部分或 是注册表键),并且将这些资产传送到在其上检测到了异常的目标或是接受方计算机。在一个实施方式中,接受方计算机(S卩,具有在其上检测到的异常的计算机)向管 理资产请求和供给的仲裁器组件进行资产请求。所述仲裁器组件基于所述资产请求生成供 给请求,并将其发送到被认为或是已知为具有所寻求资产的另一供给方计算机。接收供给 方计算机接着通过将包括所请求资产的资产供给消息发送到发起所述资产请求的接受方 计算机来做出响应。为了“闭合循环”,接受方计算机可选地接着将指示已经接收到所请求资产的确认发送到仲裁器组件。仲裁器接着从待决资产请求的列表或是队列中移除原始资 产请求。资产也可以经过仲裁器来传送,而不是直接发送(或是寻址)到目标或是接受方。“956”申请描述了一种可以利用“自适应参考模型”来检测给定计算机上的异常的 系统和方法,所述“自适应参考模型”可以用来建立存储在给定计算机网络中的多个计算机 上的数据的“正常”模式。本发明可以借助于这种系统进行异常检测,或是可以依赖于任何 其他的方法来标识计算机网络中的计算机上的异常。利用本发明的方法特别适于修复的异常包括但不限于遗漏的文件、遗漏的数据、 文件或是数据的遗漏部分、遗漏的注册表键、损坏的文件或是损坏的注册表键。本发明的方 面可以类似地进行操作,从而移除不希望地出现的文件或是数据。通过结合相关附图来阅读下面详细的描述,将充分了解本发明实施方式的这些或 是其他特征及其所伴随的优势。


图1描述了本发明实施方式可以操作于其中的示例性环境;图2是描述根据本发明实施方式的信息和动作流的框图;图3描绘了根据本发明一个实施方式的通过通信网络彼此进行通信的接受方或 目标计算机、供给方计算机以及仲裁器组件;图4-图6是描绘了根据本发明实施方式的消息和修正数据交换的示例性序列图。
具体实施例方式本发明的实施方式提供自动计算机支持和矫正的系统和方法。现在参考附图, 其中相同的编号在附图中指示着相同的元素。图1是描述本发明实施方式可以操作于 其中的示例性环境的框图。该环境和配置在提交于2004年8月11日的美国专利申请 No. 10/916,956 ( “956”申请)中有所描述,在此通过引用并入该申请的全部。虽然在956 申请的上下文中描述本发明,但是本领域的技术人员可以理解,本发明的方面可以独立于 在此所描述的系统和方法而使用。另一方面,“956”申请中所描述的系统和方法所实现的 计算机问题/异常检测的粒度可以有助于进一步利用结合本发明的实施方式而描述的问 题矫正技术的益处。再次参考图1,其示出了自动支持设施102。虽然自动支持设施102在图1中示出 为单独的设施,其可能包括多个设施或是被并入到驻留有被管理的计算机集合114或计算 机网络的站点。所述自动支持设施102可以包括防火墙104,其与网络106进行通信用以 向存储在自动支持设施102内的数据提供安全性。所述自动支持设施102还可以包括收集 器组件108。除其他特征之外,所述收集器组件108可以提供用于通过诸如文件传输协议 (HTP)或超文本传输协议(HTTP)的标准协议或是私有协议将数据传送进或传送出所述自 动支持设施102的机制。所述收集器组件108还可以提供进行下载、解压以及解析传入数 据(包括“快照”)所需的处理逻辑。自动支持设施102还可以包括与收集器组件108进行通信和/或与网络106并且 因此与被管理的计算机集合114直接进行通信的分析组件110。所述分析组件110可以包 括用以创建“自适应参考模型”并对其进行操作的软件和硬件,如同在“956”申请中详述的,在此对其概括为上下文。数据库组件112可以与收集器组件108和分析组件110 二者进行通信,其可以被 用来存储自适应参考模型。所述分析组件110从数据库组件112中提取自适应参考模型和 快照,在参考模型的上下文中对快照进行分析并且过滤掉任何异常,以及在适当时传送响 应代理(图2),下面将对此进行详述。分析组件110还可以为系统提供用户接口。图1仅仅示出了一个收集器组件108、一个分析组件110以及一个数据库组件 112。然而,本领域的技术人员将会理解,其他可行的实现中可能包括很多此类适当联网在 一起的组件。如将会在此更为详细描述的,本发明的实施方式向可以包括多个客户端计算机 116a-d的被管理的集合114提供自动支持和矫正。本领域的技术人员将会理解,所示出的 四个客户端计算机116a_d仅仅是示意性的,而本发明的实施方式可以操作在具有成百上 千甚至更多的客户端计算机的计算机网络的环境中。被管理的集合114利用相应的代理组 件202、通过网络106向自动支持设施102提供数据。更具体地,代理组件202被部署在每个被监测的计算机116a_d中,并且采集来自 其相应计算机的数据。例如,按照预定的时间间隔(例如每天一次)或是响应于来自分析 组件110的命令,代理组件获得其所驻留的机器状态的详细“快照”。这种快照可以包括对 于所有系统文件、指定的应用程序文件、注册表、性能计数器、过程、服务通信端口、硬件配 置以及日志文件的详细检查。每次扫描的结果,即,所述“快照”,接着(可选地)被压缩并 且被传送到收集器组件108/数据库组件112。此外,代理组件202优选地被配置用以通过网络106并且因此可以向所有的计算 机116a_d传送针对修正数据的请求,所述修正数据可以被用来替换损坏的数据或是被用 来完成代理组件202所驻留的计算机上的遗漏数据,从而例如使缺失文件的一部分完整。 在优选实施方式中,针对修正数据(此处同样被称为“资产”)的请求并非被引向所有的计 算机,而是被引向仲裁器组件113,所述仲裁器组件113被示为在自动支持设施102内部互 连,但是其可以备选地实现为与网络106进行通信的另一个计算机116。稍后将提供对仲裁 器组件113及其与相应计算机116的一个或多个代理组件202所进行的交互的细节。图1所示的服务器、计算机以及网络组件的每一个都包括处理器和计算机可读介 质。对于本领域技术人员而言公知的是,本发明的实施方式可以通过将多个功能合并到单 个计算机或是通过利用多个计算机来执行单一任务,来以多种方式进行配置。本发明实施方式所利用的处理器可以包括例如能够进行如支持根据本发明的过 程中所必须的处理输入、执行算法以及生成输出的数字逻辑处理器。这种处理器可以包括 微处理器、ASIC以及状态机。这种处理器包括例如存储有当被处理器执行时会导致所述处 理器执行此处所描述的步骤的指令的计算机可读介质的介质,或是能够与其进行通信。计算机可读介质的实施方式包括但不限于电子、光学、磁性或是其他能够向处理 器(例如与触敏输入设备进行通信的处理器)提供计算机可读指令的存储器或是传输设 备。适合介质的其他例子包括但不限于软盘、CD-ROM、磁盘、存储芯片、ROM、RAM、ASIC、配 置处理器、所有光学介质、所有磁带或是其他磁性介质、或是计算机处理器可以从该处读取 指令的任何其他介质。同样,各种其他形式的计算机可读介质可以传送或是携带指令到 计算机,包括路由器、专用网络或公共网络、或是其他有线或无线的传送设备或信道。所述指令可能包括来自任何计算机编程语言,包括例如C、C++、Visual Basic, Java,以及
JavaScript。图2复制自“956”申请,关于快照分析提供了附加的上下文。本领域的技术人员 可以理解,本发明的实施方式并不必须实现在此或是在“956”申请中所描述的同种快照分 析。另一方面,通过实现这种快照分析方法而实现的问题检测粒度可以有助于进一步利用 此处所描述的问题矫正技术的益处。图2是描述了与快照分析相关的信息流的框图。如图1所示,所示的实施方式包 括可以执行多种功能的代理组件202。首先,其响应于来自分析组件110的命令或是响应于 由代理组件202自身所检测到的感兴趣的事件,负责通过按照预定的时间间隔对客户端计 算机116进行扫描来采集数据。如上所述的,所述扫描可能包括对所有系统文件、指定的应 用程序文件、注册表、性能计数器、硬件配置、日志、运行任务、服务、网络连接以及其他相关 数据的详细检查。如上所述,扫描的结果可以被压缩并且以快照的形式通过网络传送到收 集器组件108和/或相关联的数据库。在一个实施方式中,代理组件202读取有待检验文件的每个字节,并且为每个文 件创建数字签名或是散列。数字签名标识出每个文件的确切内容,而不是仅仅提供例如大 小和创建日期的元数据。这一点尤为有用之处在于,一些传统的病毒在试图迷惑依赖于元 数据来进行病毒检测的系统时,可能改变给定文件的文件头部信息。因此,可能与本发明结 合实现的数字签名方法仍然能够成功地检测这类病毒。由代理组件202对客户端计算机116进行的扫描可以是资源敏感的。因此,在一 个实施方式中,完全扫描在用户可能没有使用客户端机器的时间内周期性地(例如,每天) 执行。在另一实施方式中,代理组件202对客户端机器执行增量扫描,其仅仅记录从最后一 次扫描的改变。在又一实施方式中,由代理组件202进行的扫描按需执行,从而向试图矫正 客户端机器上的异常或是所报告的问题的技术人员或支持人员提供有价值的工具。代理组件202执行的第二个主要功能是行为阻止。例如,代理组件202可以持续 (或基本上持续)监测对例如系统文件和注册表之类的关键系统资源的访问,并且在适当 时有选择地阻止对这些资源的实时访问从而防止来自恶意软件的损害。尽管行为监测以进 行中为基础而发生,但行为阻止可以作为修复动作的一部分而被启用。例如,当分析组件 110怀疑存在病毒时,可以下载修复动作,以导致客户端通过代理组件202阻止病毒访问被 管理系统内的关键信息资源。代理组件202执行的第三个功能是为“响应代理”提供执行环境。响应代理可以 是代理组件202能够理解的命令,或者可以是更为全面的“移动软件组件”,其实现自动过 程来解决各类困难情况。例如,如果分析组件110怀疑存在病毒,其可以下载响应代理来导 致代理组件202从被管理的系统中移除可疑代码或数据。代理组件202可以作为被监测计 算机上的服务或是其他后台处理而运行。由于本发明实施方式所提供的范围和粒度,因此 可以较之于传统系统更为精确地执行修复。代理组件202的又一个功能是响应于接收的响应代理(可能仅仅是命令或是消 息,而并非必然是可独立执行的功能),向例如仲裁器组件113发起以AssetRequest (资产 请求)消息开始的事件序列,并最终导致一个或多个供给方计算机向资产请求者(在此处 还被称为“目标计算机”或“接受方”)分发特定数据,例如修正数据,该数据继而被存储在接受方中,以便替换或是被添加到该计算机上的现有数据中,从而矫正问题或异常。如图2所进一步显示的,本发明的一个实施方式可以包括如“956”申请中所述的 自适应参考模型组件206。所述自适应参考模型206用来分析来自多个计算机的快照,并且 利用通用数据挖掘算法或是为此目的而特别设计的专有数据挖掘算法来标识统计上显著 的模式。一旦建立了参考,就可以利用一个或者多个样本快照来确定在整个集合内或是任 意集合成员内是否发生了任何异常。策略模板组件208允许服务提供者手动地在自适应参考模型中插入形式为“策 略”的规则。策略是属性(文件、注册表键等)和值的组合,当其被应用于模型时,将覆盖模 型中统计生成的信息的部分。这种机制可以用来自动化各种常见的维护行为,例如验证是 否符合安全策略,以及检查以确保已经安装了适当的软件更新。作为图2信息流的一部分,进一步提供检测模块218,其被布置用来接收给定的若 干快照,并且检测快照中较之给定自适应参考模型所提供的“正常”模式而言的异常。如这 里所使用的,“异常”可以被定义为意外出现的资产、意外缺失的资产或是具有未知值的资 产。可以对照识别过滤器216的库通过诊断模块210来对异常进行匹配。识别过滤器216 包括异常的特定模式,其指示存在特定的根本原因状况或是通用类别的状况。识别过滤器 216还可以将状况与严重性指示、文本描述以及到响应代理的链接进行关联。在另一实施 方式中,识别过滤器216可以用来标识并且解译良性异常。例如,如果用户添加了管理员相 信不会引起任何问题的新应用,根据本发明的系统仍然会将该新应用报告为一组异常。如 果应用是新的,则报告作为异常而添加的资产是正确的。但是,管理员可以利用识别过滤器 216来将由添加该应用而产生的异常解译为良性。如果利用识别过滤器将异常匹配到已知的状况,则可以知道问题的根本原因。利 用该信息,即故障状况,响应模块214连同响应代理库212可以用来选择适当的响应代理, 以返回到驻留在已经被标识为具有异常数据的计算机上的代理组件202。关于自适应参考 模型的研发和利用的进一步细节可以见诸“956”申请。总之,无论是否通过利用自适应参 考模型或一些其他手段,本申请的必要元素在于对于可能存在于给定(例如目标)计算机 上的特别异常的标识。至少有两种主要普遍类别或是类型的异常特别适于本发明上下文中的矫正。首 先,可以存在当确定出计算机在遗漏数据(例如程序的不完全安装、删除的文件或注册表 键)时发生的意外缺失(UA)异常。其次,可以存在当确定出特定数据有别于其原本应当取 值时发生的未知值(UV)异常(例如,文件被损坏或是注册表键被修改)。通过本发明的实 施方式使得对这些类型的异常的矫正都成为可能。第三种异常,意外存在(UP)异常发生在 计算机包括有不应该在其中的数据时。对于这种异常的矫正涉及到删除或是移除意外的数 据。图3描绘了根据本发明实施方式的通过通信网络106彼此进行通信的接受方或目 标计算机116c、供给方计算机116d (这两个计算机的每一个都具有各自的代理组件202)以 及仲裁器组件113 (如前所述,其可以是网络环境中的独立计算机或是自动支持设施102中 的一部分)的简化示意图。仲裁器组件113在逻辑上放置在接受方计算机116c和一个或 多个供给方计算机116d之间。然而,从计算机网络拓扑角度来看,仲裁器组件可以在物理 上实际放置在任何地方,只要接受方计算机116c和供给方计算机116d可以与仲裁器组件113通信即可。虽然仲裁器组件113在此被描述为独立的功能单元,然而本领域的技术人员 可以理解,仲裁器组件113的功能可以位于客户端计算机116自身的个体计算机上,尽管这 种配置可能消减较为集中的仲裁器机制所带来的益处。一旦确定目标计算机116c需要修正数据来修正已经在目标计算机116c上检测到 的异常,便启动本发明的各方面。更具体地,并且如图4所示,代理组件202被配置为一旦 确定需要特定资产(或是修正数据)来修正接受方计算机116c上的异常,即发送包含接受 方计算机116c所需资产的指示的AssetRequest消息401。关于修正所检测到的异常需要 哪些资产的列表或描述,可以由自动支持设施102通过例如响应代理来提供。可选地,代理 组件202可以足够复杂从而对异常进行自诊断,并且自行发起AssetRequest消息401。仲裁器组件113接收到AssetRequest消息401,并且定位包含接受方计算机所寻 求的资产或是修正数据的适当供给方计算机。可以通过询问收集器组件108、分析组件110 以及数据库组件112的任意组合来标识供给方计算机,因为这些可能负责首先标识异常的 组件也可以标识没有这种异常并且因此适合供给所期望资产或是修正数据的客户端计算 机。还可以基于供给方计算机准备好进行供给的个体资产的数量来选择供给方计算机。选 择供给方计算机的另一个要素是其物理位置。也就是说,希望选择靠近接受方计算机的供 给方计算机,或是选择虽然在物理上并不靠近但是本身非常自由或是作为足够自由的网络 的一部分从而较为容易对供给请求做出响应的供给方计算机。一旦选择了供给方计算机, 仲裁器组件113向所选择的供给方计算机发送DonationRequest (供给请求)消息402。所 述DonationRequest消息可以是所示的单一消息,或是可以包含多条消息,例如一条消息 针对每个被请求的个体资产。响应于DonationRequest消息402,所选择的供给方计算机将一条或多条包含所 请求资产或是修正数据的AssetDonation (资产供给)消息403返回到接受方计算机。在一 个实施方式中,每个个体AssetDonation消息包含单个资产。然而,本领域的技术人员将会 理解,单个这种消息可能包括多个所请求的资产。在可替代的实施方式中,AssetDonation 消息403被回传到仲裁器组件,其可以接着将消息转发到接受方计算机,或是例如等待首 先递送所有请求的资产,继而生成包含所有所请求资产的单个消息并向接受方计算机发 回。一旦代理组件202接收到所请求的资产,并且可能内部确认了其存储,接受方计 算机向仲裁器组件发送一条或多条AssetReceived (资产已接收)消息404,确认资产的接 收。在优选实施方式中,仲裁器组件113保持跟踪未决供给请求,并且当其从接受方计算机 接收到资产接收消息时,将供给请求中的相应资产标记为已接收。当所有与给定DonationRequest相关联的资产都已接收到,仲裁器组件113可以 从其维护的未决请求列表中移除DonationRequest。按照这种方法,针对资产的接受方计算 机请求得以满足,而管理请求的责任则主要由仲裁器组件113来承担。本领域的技术人员 将会理解,虽然仲裁器组件113被示为独立的模块,可选的是其功能可以被并入到例如分 析组件110或是整个系统中的其他组件内。非常有可能的是,单个供给方计算机可能没有给定的接受方计算机所请求的 所有资产。从网络开销以及异常矫正管理的角度来看,优选的是仲裁器组件利用尽可 能少的DonationRequest消息来满足来自接受方计算机的AssetRequest消息。然而,如果在单个供给方计算机中不能找到AssetRequest消息中所有的资产时,就会发送不 止一个DonationRequest消息以满足请求。因此,如图5所示,去往仲裁器组件133的 单个DonationRequest消息501可以产生被发送到相应供给方计算机的两个独立的 DonationRequest消息502a、502b。反之,供给方计算机向接受方计算机提供各自的 AssetDonation消息503a、503b。接着通过发送各自相应的AssetReceived消息504a、504b 来单独确认资产供给,使得仲裁器组件113可以保持跟踪未决以及满足的资产请求。当仲裁器组件113不能找到针对被寻求的特定资产的供给方计算机时,优选地, 针对每个这种资产向接受方发送AssetRequestFailure (资产请求失败)消息(未示出)。 响应于该消息,驻留在请求计算机上的代理组件202可以被配置为不作为,或是配置为与 分析组件110 (或其他组件)进行通信,以提供关于接受方计算机可能仍然需要给定的资产 而该资产可能无法轻易获得的通知。还可以向系统管理员派发提示消息,指示无法执行接 受方计算机的全自动修补/修复,以及因此需要特别关注。图6描绘出了根据本发明实施方式的另一个可能序列。在关注于将 DonationRequest消息的数量保持为最小的情况下,仲裁器组件113可以接收 AssetRequest消息,并且作为响应向第一供给方计算机(供给方1)发送DonationRequest 消息602。该供给方计算机可能接着通过DonationFailure (供给失败)消息607做出响 应。这种消息可以因为供给方计算机确实没有正在寻求的资产或是例如由于供给方计算机 正忙于其他不能打断的处理而生成。DonationFailure的其他原因也是可能的。在接收到该DonationFailure消息607之后,仲裁器组件113可以接着向第二 不同供给方计算机(供给方2)发送DonationRequestRetry (供给请求重试)消息608。 这种“重试”消息可以采取与DonationRequest消息602相同的形式,或采取稍有不同的 形式以指示该请求的“重试”属性。该DonationFailure和DonationRequestRetry序列 在需要时可以重复多次,以便最终定位能够生成并且发送具有适当资产或是修正数据的 AssetDonation消息609的供给方计算机。在一个实施方式中,仲裁器组件113保持可能供给方的列表,在进一步失败的情 况下将会按照列表顺序来尝试这些供给方。接受方计算机在接收或是存储资产之后,优选地向仲裁器组件113发送 AssetReceived消息610,从而可以从仲裁器组件所维护的列表中移除该未决资产请求。如果用尽了 DonationRequestRetry中的所有可能供给方仍没有成功,则优选地, 向请求接受方计算机发送AssetRequestFailurd资产请求失败)(未示出)。下面是针对其可以执行根据本发明的矫正的损坏或是遗漏数据类型的几个特别 示例。示例1 错误配置的垃圾邮件设置在本示例中,用户错误地将其Microsoft Outlook 中的垃圾邮件保护级别设置 为“高”和“永久删除”,这导致了一些有效邮件被标记为垃圾并且自动地被移除。这些应用 程序设置被存储在注册表键中。当检查到对用户机器的扫描与所认为的正常计算机状态相 抵触时,对应于该设置的键将被标识为具有未知值类型的异常,因为所述键的值与机器集 合中其余的不同。例如,分析组件110知道正确值的签名,并且在被发送到错误配置的计算 机的矫正消息中包括该信息。当目标机器接收到该矫正消息,其向仲裁器组件113请求正确注册表键的供给。仲裁器组件113可以访问包含所有机器内容的分析数据库,其继而定 位具有正确值的潜在供给方。仲裁器组件113接着将来自一个或多个所选择供给方的正确 注册表键供给整合到接受方。当错误配置的计算机接收到所供给的资产,其替换现存的资 产,并且Outlook 中的设置将被恢复为其初始值。更具体地,Microsoft Outlook 默认为将垃圾邮件移送到JunkE-Mail文件夹。 Junk E-Mail文件夹提供了在删除垃圾邮件之前对其进行审查的能力。然而,有可能将 Outlook配置为仅仅删除垃圾邮件,而不是将其移送到Jimk E-Mail文件夹。该选项导致了 一定程度的风险,因为有可能将合法的邮件标识为垃圾邮件并且删除。控制该行为的注册 表键在下面列出。注册表键名称hkcu\software\microsoft\windows nt\currentversion\ windowsmessagingsubsystem\profiles\outlook\0a0d020000000000c000000000000046注册值名称000b0416当该码的值等于0000时,则Outlook 将疑似垃圾邮件移动到Junk E-Mail文件 夹,但是不会将其自动删除。当该码的值等于0100时,则Outlook 自动删除疑似垃圾邮 件。如果在正常值为0000的环境下检测到0100值,则0100值将被认知为未知值异常。该 异常将通过以下方式修复首先标识适当的供给方机器,继而请求该供给方发送正确注册 表键和值数据的副本。示例2 软件更新失败多数大型计算机网络采用了某种类型的自动软件/补丁安装软件,其在软件更新 变为可用时向网络上的计算机推送该软件更新。遗憾的是,补丁安装软件的成功率并不是 100%,并且通常没有良好的机制用于应对当安装更新时所遇到的部分失败,这可能致使机 器受损。一旦标识出补丁未加载或是失败的动作,这种异常将会转变为例如意外缺失或是 未知值异常。例如,由于分析组件110知道正确文件、码、数据等的签名,通过定位网络上的 其他计算机中的这些项目的正确版本并且在接受方和供给方之间协调供给,本发明可以被 用来利用来自网络上其他计算机的供给的文件/数据,如外科手术一样对失败的软件安装 进行修复。示例3 提示的安全性设置例如由军方承包商或是医学组织所使用的某些计算机网络的所有计算机都必须 符合各种安全性标准。如果用户改变了任何系统设置从而使计算机不符合所要求的标准, 负责的公司则有可能承担重要责任。根据本发明,当确定以违反要求的方式配置了计算机 时,通过利用来自网络上其他计算机的项目的资产供给,以及通过仅仅改变错误配置的项 目,需要被改变的特定设置自动地、如外科手术一样地被修复,而所有这一切需要很少(甚 至不需要)人工干预。如本领域技术人员能够从前述的公开中所理解的,通过实现包括接受方计算机、 供给方计算机以及“中介”仲裁器组件的自动系统,提供了自修复的计算机网络,其中计算 机可以供给已知为“良好”的资产来替换被管理的计算机网络内其他计算机上的遗漏或是 损坏数据。在此所描述的系统和方法可以采用其他特别的形式来实施而不会背离其精神或
11是主要特征。因此前述的实施方式在所有方面被视为示意性的而并不意味着构成限制。
权利要求
一种用于修正目标计算机中的异常的方法,其中所述目标算机是计算机网络的部分,所述方法包括确定修正在目标计算机中标识的异常所需的修正数据,其中所述目标计算机是计算机网络的部分;在所述网络的多个计算机中定位供给方计算机,其中所述供给方计算机包括修正所述异常所需的所述修正数据;在所述目标计算机处从所述供给方计算机接收所述修正数据;以及利用所述修正数据来修正存储在所述目标计算机上的数据中的所述异常。
2.根据权利要求1所述的方法,进一步包括从包括所述目标计算机在内的多个计算机接收相应的快照,其中所述快照之一包括具 有异常的数据;至少部分地基于所述相应的快照来创建自适应参考模型,其中所述自适应参考模型可 操作以标识所述相应的快照中在统计上显著的模式;将所述快照中的至少一个与所述自适应参考模型进行比较;以及 基于所述比较来标识所述异常以及所述目标计算机。
3.根据权利要求1所述的方法,其中所述异常包括遗漏的文件、遗漏的数据或者文件 或遗漏数据的遗漏部分。
4.根据权利要求1所述的方法,其中所述异常包括遗漏的注册表键。
5.根据权利要求1所述的方法,其中所述异常包括损坏的文件或者损坏的数据。
6.根据权利要求1所述的方法,其中所述异常包括损坏的注册表键。
7.根据权利要求1所述的方法,进一步包括从目标计算机向仲裁器发送请求,所述请求针对所述修正数据。
8.根据权利要求7所述的方法,进一步包括从仲裁器向所述供给方计算机发送供给请求,所述供给请求针对所述修正数据。
9.根据权利要求8所述的方法,进一步包括当供给方计算机无法提供所述修正数据时,在仲裁器处从所述供给方计算机接收供给 请求失败消息。
10.根据权利要求1所述的方法,其中定位供给方计算机的步骤包括确定所述供给方 计算机的物理位置。
11.根据权利要求1所述的方法,进一步包括从所述目标计算机中删除数据。
12.一种用于修正存储在计算机上的数据中的异常的系统,包括目标计算机,其在计算机网络的多个计算机中,并且已经在其存储的数据中检测异常;仲裁器,配置用于从目标计算机接收针对资产的请求,所述资产一旦载入目标计算机 中即足以修正所述异常;以及至少一个供给方计算机,其从所述仲裁器接收供给请求,并且作为响应而向所述目标 计算机提供所请求的资产。
13.根据权利要求12所述的系统,进一步包括分析模块,配置用于检测并且标识存储 在所述目标计算机上的数据中的异常。
14.根据权利要求13所述的系统,其中所述分析模块操作用以从包括所述目标计算机的所述多个计算机接收相应的快照,其中至少一个所述快照包 括具有异常的数据;至少部分地基于所述快照来创建自适应参考模型,其中所述自适应参考模型可操作用 以标识所述快照中在统计上显著的模式;将所述至少一个所述快照与所述自适应参考模型进行比较;以及 基于所述比较来标识异常以及目标计算机。
15.根据权利要求12所述的系统,其中所述仲裁器配置用于向多个供给方计算机发送 多个相应的供给请求。
16.根据权利要求12所述的系统,其中所述目标计算机配置用于确认资产的接收。
17.根据权利要求12所述的系统,其中所述仲裁器配置用于在向第一供给方计算机 的第一供给请求导致失败时,向第二供给方计算机发送第二供给请求。
18.根据权利要求12所述的系统,其中所述目标计算机包括至少与所述仲裁器进行通 信的代理。
19.根据权利要求18所述的系统,其中所述目标计算机上的代理可操作用以与至少一 个供给方计算机上的代理进行通信。
20.根据权利要求12所述的系统,其中所述异常包括以下至少一个遗漏的文件、文件 的遗漏部分、遗漏的注册表键、损坏的文件或是损坏的注册表键。
21. 一种用于解决计算机中的异常的自动方法,所述计算机是计算机网络的一部分,所 述方法包括从目标计算机接收资产请求,所述资产请求针对修正内容,所述修正内容将替换或增 加所述目标计算机上的数据,从而解决存储在所述目标计算机上的所选择数据中的先前标 识的异常;将所述资产请求转换为供给请求,并且向至少一个供给方计算机发送所述供给请求;以及从所述目标计算机接收指示,其指示已经从所述供给方计算机接收到了所述资产。
22.根据权利要求21所述的方法,进一步包括从分析组件接收所述至少一个供给方 计算机的标识。
23.根据权利要求21所述的方法,进一步包括向多个供给方计算机发送多个供给请求。
24.根据权利要求23所述的方法,进一步包括保持跟未决的供给请求。
全文摘要
用于修正作为计算机网络一部分的目标计算机中的异常的系统和方法。在存储于目标计算机上的数据中检测到异常,并且确定修正所述异常所需要的修正数据。定位具有修正数据的供给方计算机,并请求向目标计算机提供修正数据。所述修正数据被用来修正目标计算机上的异常,并且目标计算机可以确认所述修正数据的接收。在一个实施方式中,仲裁器组件接收针对修正数据的请求,将该请求传递到潜在的供给方计算机,并且从目标计算机接收确认。
文档编号G06F11/00GK101918922SQ200880124332
公开日2010年12月15日 申请日期2008年11月5日 优先权日2008年1月8日
发明者D·E·胡克斯, M·N·奎恩 申请人:瑞厄姆芬特公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1