CN101918922A - 用于计算机网络中的自动数据异常修正的***和方法 - Google Patents

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

Info

Publication number
CN101918922A
CN101918922A CN2008801243323A CN200880124332A CN101918922A CN 101918922 A CN101918922 A CN 101918922A CN 2008801243323 A CN2008801243323 A CN 2008801243323A CN 200880124332 A CN200880124332 A CN 200880124332A CN 101918922 A CN101918922 A CN 101918922A
Authority
CN
China
Prior art keywords
computing machine
data
object computer
request
unusual
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
Application number
CN2008801243323A
Other languages
English (en)
Inventor
M·N·奎恩
D·E·胡克斯
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Triumfant Inc
Original Assignee
Triumfant Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Triumfant Inc filed Critical Triumfant Inc
Publication of CN101918922A publication Critical patent/CN101918922A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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/0748Error 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 remote unit communicating with a single-box computer node experiencing an error/fault
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/079Root cause analysis, i.e. error or fault diagnosis

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

用于修正作为计算机网络一部分的目标计算机中的异常的***和方法。在存储于目标计算机上的数据中检测到异常,并且确定修正所述异常所需要的修正数据。定位具有修正数据的供给方计算机,并请求向目标计算机提供修正数据。所述修正数据被用来修正目标计算机上的异常,并且目标计算机可以确认所述修正数据的接收。在一个实施方式中,仲裁器组件接收针对修正数据的请求,将该请求传递到潜在的供给方计算机,并且从目标计算机接收确认。

Description

用于计算机网络中的自动数据异常修正的***和方法
技术领域
本发明涉及用于自动计算机支持的***和方法。
背景技术
对于计算机网络,即使相对比较小的计算机网络的管理都可能是困难的。网络管理者或是管理员通常负责确保用户计算机正常地操作,从而最大化生产率并且最小化故障时间。当计算机开始不规律地工作或是彻底停止工作时,用户通常会联系***管理员寻求帮助。如2004年8月11日提交并且公开为US 2005/0038827的共同未决美国专利申请No.10/916,956(“956申请”)中所阐述的,调查、诊断并且解决与计算机网络上的个人计算机相关联的问题会涉及大量的人力成本。
使得给定的计算机不正常工作的原因可能有很多,包括遗漏或是损坏的文件或是注册表键、“恶意软件”(包括病毒等)以及用户错误。遗憾的是,典型组织的信息技术(IT)部门通常缺乏资源或是能力来接收关于给定计算机的所报告问题通知,并在此后对该计算机进行调查以标识出该问题的根本原因,从而对所述给定计算机进行适当的修补/修复/修正。因此,网络管理者以及IT部门通常不会对多数报告的计算机问题的细节进行研究,而是诉诸三种常见的“强力”方法来解决所报告的问题,即:
备份,其中用预先存储的备份版本来替换整个***或是应用;
黄金映像,其中所有的应用和数据被重置回基线配置;和/或
重映像,其中在计算机上再次重新安装所有的软件。
如本领域技术人员能够理解的,上述用于计算机问题矫正的“强力”方法实际上是覆盖式的数据替换方法,其并非响应以修补例如给定计算机上单个特定问题,并且还经常会给计算机用户带来许多不希望的副作用。例如,用户可能会遗漏用户定制的设置,可能必须在很长的故障停机时间段内进行工作,或是担心遗漏用户数据。
鉴于维护用户数据以及避免不必要的故障停机时间的重要性,需要提供一种用于计算机问题矫正的不同方法。
发明内容
本发明的实施方式提供了利用很少的或是无需人为干预来修补或是修复在存储于计算机上的计算机数据中检测到的异常的***和方法。本发明的一个特征在于利用来自供给方(Donor)计算机的无损坏可用数据或是“资产”(例如,但不限于文件、文件的部分或是注册表键),并且将这些资产传送到在其上检测到了异常的目标或是接受方计算机。
在一个实施方式中,接受方计算机(即,具有在其上检测到的异常的计算机)向管理资产请求和供给的仲裁器组件进行资产请求。所述仲裁器组件基于所述资产请求生成供给请求,并将其发送到被认为或是已知为具有所寻求资产的另一供给方计算机。接收供给方计算机接着通过将包括所请求资产的资产供给消息发送到发起所述资产请求的接受方计算机来做出响应。为了“闭合循环”,接受方计算机可选地接着将指示已经接收到所请求资产的确认发送到仲裁器组件。仲裁器接着从待决资产请求的列表或是队列中移除原始资产请求。资产也可以经过仲裁器来传送,而不是直接发送(或是寻址)到目标或是接受方。
“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中的所有可能供给方仍没有成功,则优选地,向请求接受方计算机发送AssetRequestFailure(资产请求失败)(未示出)。
下面是针对其可以执行根据本发明的矫正的损坏或是遗漏数据类型的几个特别示例。
示例1:错误配置的垃圾邮件设置
在本示例中,用户错误地将其MicrosoftTM OutlookTM中的垃圾邮件保护级别设置为“高”和“永久删除”,这导致了一些有效邮件被标记为垃圾并且自动地被移除。这些应用程序设置被存储在注册表键中。当检查到对用户机器的扫描与所认为的正常计算机状态相抵触时,对应于该设置的键将被标识为具有未知值类型的异常,因为所述键的值与机器集合中其余的不同。例如,分析组件110知道正确值的签名,并且在被发送到错误配置的计算机的矫正消息中包括该信息。当目标机器接收到该矫正消息,其向仲裁器组件113请求正确注册表键的供给。仲裁器组件113可以访问包含所有机器内容的分析数据库,其继而定位具有正确值的潜在供给方。仲裁器组件113接着将来自一个或多个所选择供给方的正确注册表键供给整合到接受方。当错误配置的计算机接收到所供给的资产,其替换现存的资产,并且OutlookTM中的设置将被恢复为其初始值。
更具体地,MicrosoftTM OutlookTM默认为将垃圾邮件移送到JunkE-Mail文件夹。Junk E-Mail文件夹提供了在删除垃圾邮件之前对其进行审查的能力。然而,有可能将Outlook配置为仅仅删除垃圾邮件,而不是将其移送到Junk E-Mail文件夹。该选项导致了一定程度的风险,因为有可能将合法的邮件标识为垃圾邮件并且删除。控制该行为的注册表键在下面列出。
注册表键名称:
hkcu\software\microsoft\windows nt\currentversion\windowsmessagingsubsystem\profiles\outlook\0a0d020000000000c000000000000046
注册值名称:000b0416
当该码的值等于0000时,则OutlookTM将疑似垃圾邮件移动到Junk E-Mail文件夹,但是不会将其自动删除。当该码的值等于0100时,则OutlookTM自动删除疑似垃圾邮件。如果在正常值为0000的环境下检测到0100值,则0100值将被认知为未知值异常。该异常将通过以下方式修复:首先标识适当的供给方机器,继而请求该供给方发送正确注册表键和值数据的副本。
示例2:软件更新失败
多数大型计算机网络采用了某种类型的自动软件/补丁安装软件,其在软件更新变为可用时向网络上的计算机推送该软件更新。遗憾的是,补丁安装软件的成功率并不是100%,并且通常没有良好的机制用于应对当安装更新时所遇到的部分失败,这可能致使机器受损。一旦标识出补丁未加载或是失败的动作,这种异常将会转变为例如意外缺失或是未知值异常。例如,由于分析组件110知道正确文件、码、数据等的签名,通过定位网络上的其他计算机中的这些项目的正确版本并且在接受方和供给方之间协调供给,本发明可以被用来利用来自网络上其他计算机的供给的文件/数据,如外科手术一样对失败的软件安装进行修复。
示例3:提示的安全性设置
例如由军方承包商或是医学组织所使用的某些计算机网络的所有计算机都必须符合各种安全性标准。如果用户改变了任何***设置从而使计算机不符合所要求的标准,负责的公司则有可能承担重要责任。根据本发明,当确定以违反要求的方式配置了计算机时,通过利用来自网络上其他计算机的项目的资产供给,以及通过仅仅改变错误配置的项目,需要被改变的特定设置自动地、如外科手术一样地被修复,而所有这一切需要很少(甚至不需要)人工干预。
如本领域技术人员能够从前述的公开中所理解的,通过实现包括接受方计算机、供给方计算机以及“中介”仲裁器组件的自动***,提供了自修复的计算机网络,其中计算机可以供给已知为“良好”的资产来替换被管理的计算机网络内其他计算机上的遗漏或是损坏数据。
在此所描述的***和方法可以采用其他特别的形式来实施而不会背离其精神或是主要特征。因此前述的实施方式在所有方面被视为示意性的而并不意味着构成限制。

Claims (24)

1.一种用于修正目标计算机中的异常的方法,其中所述目标算机是计算机网络的部分,所述方法包括:
确定修正在目标计算机中标识的异常所需的修正数据,其中所述目标计算机是计算机网络的部分;
在所述网络的多个计算机中定位供给方计算机,其中所述供给方计算机包括修正所述异常所需的所述修正数据;
在所述目标计算机处从所述供给方计算机接收所述修正数据;以及
利用所述修正数据来修正存储在所述目标计算机上的数据中的所述异常。
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所述的方法,进一步包括:保持跟未决的供给请求。
CN2008801243323A 2008-01-08 2008-11-05 用于计算机网络中的自动数据异常修正的***和方法 Pending CN101918922A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/970,650 US8104087B2 (en) 2008-01-08 2008-01-08 Systems and methods for automated data anomaly correction in a computer network
US11/970,650 2008-01-08
PCT/US2008/082441 WO2009088559A1 (en) 2008-01-08 2008-11-05 Systems and methods for automated data anomaly correction in a computer network

Publications (1)

Publication Number Publication Date
CN101918922A true CN101918922A (zh) 2010-12-15

Family

ID=40845540

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2008801243323A Pending CN101918922A (zh) 2008-01-08 2008-11-05 用于计算机网络中的自动数据异常修正的***和方法

Country Status (7)

Country Link
US (1) US8104087B2 (zh)
EP (2) EP3522019A1 (zh)
JP (1) JP5492788B2 (zh)
CN (1) CN101918922A (zh)
AU (1) AU2008347034B2 (zh)
CA (1) CA2711409A1 (zh)
WO (1) WO2009088559A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111065916A (zh) * 2017-09-21 2020-04-24 株式会社日立制作所 接合工序线监视***

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2020776A1 (en) * 2007-07-30 2009-02-04 Nederlandse Organisatie voor toegepast- natuurwetenschappelijk onderzoek TNO Restarting networks
US7904420B2 (en) * 2008-08-26 2011-03-08 Raytheon Company Identification and verification of common cluster files residing on nodes in a cluster
US7640589B1 (en) * 2009-06-19 2009-12-29 Kaspersky Lab, Zao Detection and minimization of false positives in anti-malware processing
US9098333B1 (en) 2010-05-07 2015-08-04 Ziften Technologies, Inc. Monitoring computer process resource usage
US9059898B2 (en) * 2010-12-07 2015-06-16 General Electric Company System and method for tracking configuration changes in enterprise product
CN102799500B (zh) * 2012-06-25 2014-04-30 腾讯科技(深圳)有限公司 ***修复方法及装置
US8984331B2 (en) 2012-09-06 2015-03-17 Triumfant, Inc. Systems and methods for automated memory and thread execution anomaly detection in a computer network
US8931101B2 (en) * 2012-11-14 2015-01-06 International Business Machines Corporation Application-level anomaly detection
US9244958B1 (en) * 2013-06-13 2016-01-26 Amazon Technologies, Inc. Detecting and reconciling system resource metadata anomolies in a distributed storage system
US9817742B2 (en) * 2013-06-25 2017-11-14 Dell International L.L.C. Detecting hardware and software problems in remote systems
US20160253229A1 (en) * 2013-10-30 2016-09-01 Hewlett Packard Enterprise Development Lp Event log analysis
US10417213B1 (en) * 2015-01-23 2019-09-17 Violin Systems Llc Metadata updating
CN105527511A (zh) * 2015-11-27 2016-04-27 小米科技有限责任公司 一种设备自动修复的方法、装置和***
CN106055979B (zh) * 2016-05-24 2019-04-09 百度在线网络技术(北京)有限公司 内核修复方法和装置
US10338991B2 (en) 2017-02-21 2019-07-02 Microsoft Technology Licensing, Llc Cloud-based recovery system
US10585788B2 (en) 2017-02-21 2020-03-10 Microsoft Technology Licensing, Llc State-based remedial action generation
US10437663B2 (en) * 2017-04-14 2019-10-08 Microsoft Technology Licensing, Llc Administrative user communication and error recovery
US10802904B2 (en) 2017-05-16 2020-10-13 Apple Inc. Techniques for repairing an inoperable auxiliary device using another device
GB2576729B (en) * 2018-08-29 2023-02-01 Jaguar Land Rover Ltd Installing application program code on a vehicle control system
US10701096B1 (en) * 2019-09-23 2020-06-30 Adlumin, Inc. Systems and methods for anomaly detection on core banking systems
US11588847B2 (en) * 2020-12-15 2023-02-21 International Business Machines Corporation Automated seamless recovery
US11080294B1 (en) 2021-02-03 2021-08-03 Adlumin, Inc. Systems and methods for data analytics

Family Cites Families (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4368462A (en) 1979-07-10 1983-01-11 Teledyne Industries, Inc. Line follower
US5220668A (en) 1990-09-21 1993-06-15 Stratus Computer, Inc. Digital data processor with maintenance and diagnostic system
JPH076026A (ja) 1993-05-28 1995-01-10 Xerox Corp 構成管理及び構成要素の互換性保証方法、ならびに常駐ソフトウェアと移行ソフトウェアの非互換性の排除方法
US5905988A (en) 1996-11-13 1999-05-18 Imaginon Method and apparatus for database transformation and adaptive playback
US6578077B1 (en) 1997-05-27 2003-06-10 Novell, Inc. Traffic monitoring tool for bandwidth management
EP1033002A4 (en) 1997-11-07 2005-10-05 Visual Networks Tech Inc METHOD AND APPARATUS FOR PERFORMING PARAMETER SERVICE LEVEL ANALYZES OF HOLDING DATA COMMUNICATION NETWORK
US6243702B1 (en) 1998-06-22 2001-06-05 Oracle Corporation Method and apparatus for propagating commit times between a plurality of database servers
US6324656B1 (en) 1998-06-30 2001-11-27 Cisco Technology, Inc. System and method for rules-driven multi-phase network vulnerability assessment
US6269401B1 (en) 1998-08-28 2001-07-31 3Com Corporation Integrated computer system and network performance monitoring
US6363477B1 (en) 1998-08-28 2002-03-26 3Com Corporation Method for analyzing network application flows in an encrypted environment
US7058704B1 (en) 1998-12-01 2006-06-06 Network Appliance, Inc.. Method and apparatus for implementing a service-level agreement
US7010607B1 (en) 1999-09-15 2006-03-07 Hewlett-Packard Development Company, L.P. Method for training a communication link between ports to correct for errors
US7020697B1 (en) 1999-10-01 2006-03-28 Accenture Llp Architectures for netcentric computing systems
FR2802673B1 (fr) 1999-12-16 2002-02-08 Bull Sa Procede et dispositif de supervision evolutive
US7752024B2 (en) 2000-05-05 2010-07-06 Computer Associates Think, Inc. Systems and methods for constructing multi-layer topological models of computer networks
US6751794B1 (en) * 2000-05-25 2004-06-15 Everdream Corporation Intelligent patch checker
US7065573B2 (en) 2000-12-05 2006-06-20 Philippe C. Byrnes Automatic traffic and quality of service control system for communications networks
US20030110248A1 (en) 2001-02-08 2003-06-12 Ritche Scott D. Automated service support of software distribution in a distributed computer network
US20020174207A1 (en) 2001-02-28 2002-11-21 Abdella Battou Self-healing hierarchical network management system, and methods and apparatus therefor
US6662198B2 (en) 2001-08-30 2003-12-09 Zoteca Inc. Method and system for asynchronous transmission, backup, distribution of data and file sharing
US7310348B2 (en) 2001-09-19 2007-12-18 Bay Microsystems, Inc. Network processor architecture
US7035930B2 (en) 2001-10-26 2006-04-25 Hewlett-Packard Development Company, L.P. Method and framework for generating an optimized deployment of software applications in a distributed computing environment using layered model descriptions of services and servers
US7039705B2 (en) 2001-10-26 2006-05-02 Hewlett-Packard Development Company, L.P. Representing capacities and demands in a layered computing environment using normalized values
US6801940B1 (en) 2002-01-10 2004-10-05 Networks Associates Technology, Inc. Application performance monitoring expert
US6856942B2 (en) 2002-03-09 2005-02-15 Katrina Garnett System, method and model for autonomic management of enterprise applications
US7010553B2 (en) 2002-03-19 2006-03-07 Network Appliance, Inc. System and method for redirecting access to a remote mirrored snapshot
US7072960B2 (en) 2002-06-10 2006-07-04 Hewlett-Packard Development Company, L.P. Generating automated mappings of service demands to server capacities in a distributed computer system
US7463590B2 (en) 2003-07-25 2008-12-09 Reflex Security, Inc. System and method for threat detection and response
EP1661047B1 (en) 2003-08-11 2017-06-14 Triumfant, Inc. Systems and methods for automated computer support
US7593936B2 (en) * 2003-08-11 2009-09-22 Triumfant, Inc. Systems and methods for automated computer support
US6959265B1 (en) 2003-10-07 2005-10-25 Serden Technologies, Inc. User-centric measurement of quality of service in a computer network
US7350201B2 (en) 2003-10-23 2008-03-25 International Business Machines Corporation Software distribution application supporting operating system installations
US20050144314A1 (en) 2003-11-21 2005-06-30 Alcatel Dynamic system for communicating network monitoring system data to destinations outside of the management system
JP4354314B2 (ja) * 2004-03-16 2009-10-28 株式会社日立製作所 サーバ差分管理システム及び情報処理装置の制御方法
US20050283656A1 (en) * 2004-06-21 2005-12-22 Microsoft Corporation System and method for preserving a user experience through maintenance of networked components
US7509676B2 (en) * 2004-07-30 2009-03-24 Electronic Data Systems Corporation System and method for restricting access to an enterprise network
US7478424B2 (en) 2004-11-30 2009-01-13 Cymtec Systems, Inc. Propagation protection within a network
US7409719B2 (en) 2004-12-21 2008-08-05 Microsoft Corporation Computer security management, such as in a virtual machine or hardened operating system
US8255998B2 (en) * 2005-08-16 2012-08-28 Emc Corporation Information protection method and system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111065916A (zh) * 2017-09-21 2020-04-24 株式会社日立制作所 接合工序线监视***
CN111065916B (zh) * 2017-09-21 2022-10-21 株式会社日立制作所 接合工序线监视***

Also Published As

Publication number Publication date
AU2008347034A1 (en) 2009-07-16
EP2250559A1 (en) 2010-11-17
EP2250559A4 (en) 2012-10-03
JP5492788B2 (ja) 2014-05-14
WO2009088559A1 (en) 2009-07-16
US20090177913A1 (en) 2009-07-09
AU2008347034B2 (en) 2013-12-05
JP2011509462A (ja) 2011-03-24
US8104087B2 (en) 2012-01-24
EP3522019A1 (en) 2019-08-07
CA2711409A1 (en) 2009-07-16

Similar Documents

Publication Publication Date Title
CN101918922A (zh) 用于计算机网络中的自动数据异常修正的***和方法
US7069278B2 (en) System for archive integrity management and related methods
US20100161616A1 (en) Systems and methods for coupling structured content with unstructured content
US9535943B2 (en) Systems and methods for content collection validation
US20030079158A1 (en) Secured digital systems and a method and software for operating the same
JP5444178B2 (ja) バックアップ・リストア処理装置とバックアップ・リストア処理方法およびプログラム
CN102812441A (zh) 自动化的恶意软件检测和修复
US8843623B2 (en) Methods, apparatuses, and computer program products for automated remote data collection
JP2009510564A (ja) イベントログをレビューするためのシステム及び方法
JP2009217637A (ja) セキュリティ状況表示装置、セキュリティ状況表示方法、およびコンピュータプログラム
JP2009245380A (ja) ジョブ処理システムおよびジョブテスト方法
KR100736540B1 (ko) 웹 서버 위/변조 감시장치 및 그 방법
CN116155531A (zh) 一种基于soar的网络设备安全管理的方法、装置及电子设备
US20090138511A1 (en) Service access exception tracking for regulatory compliance of business processes
JP2003345628A (ja) 障害調査資料採取方法及びその実施システム並びにその処理プログラム
JP5231035B2 (ja) ジョブ処理システムおよびジョブ処理方法
JP2006114044A (ja) コンピュータ・ネットワークへの不正アクセスを検出するためのシステムおよび方法
CN112948204A (zh) 一种基于DataRobot技术的数据处理***
CA2420008C (en) Panic message analyzer
JP4686226B2 (ja) 駅務中継機
CN110956456A (zh) 一种打款处理方法、装置及***
JP7446142B2 (ja) サイバーセキュリティ監査システム
US11095658B2 (en) Enhanced system access controls
JP2009181498A (ja) ジョブ処理システムおよびジョブ処理方法
KR20060021934A (ko) 분산데이터 백업시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20101215