对等补救的制作方法

文档序号:6569909阅读:155来源:国知局
专利名称:对等补救的制作方法
对等补救背景随着计算机系统的职责在现代生活的所有方面中的扩展,维持计算机系统 的完整性已变为一个越来越重要的功能。同时,对计算机系统的威胁也已增长。 联网计算机系统特别易受一心要盗取计算机系统的信息或中断其操作的"病 毒"、"间谍软件"和"黑客"造成的威胁的攻击。增加联网计算机系统的完整性的一种方法是通过使用保护性软件。要连接 到网络的每一客户机配备了能检测并阻碍对联网计算机系统的威胁的软件。防 火墙、反病毒软件和反间谍软件的软件是在网络客户机上广泛使用的保护性软 件的示例。这种保护性软件的一个缺点是,为了成为完全有效,当产生新威胁 时,这类软件必须被更新以解决这些新威胁。为便于容易更新,保护性软件通常包括保持关于该软件能检测或防止的威 胁的描述的数据文件。这些数据文件可以诸如通过从服务器下载描述新威胁的 新文件来容易地更新。然而,连接到网络的每一客户机的操作员必须采取动作 来保持客户机更新到最新。操作员可直接采取动作,诸如通过周期性地下载新 数据文件。或者,操作员可将保护性软件配置成自动下载新数据文件。有时候, 操作员没有正确地更新、操作或配置保护性软件,从而留下了漏洞。因对保护性软件的不正确使用而造成的漏洞有时通过"隔离"方法来解决。 如果试图访问网络的客户机没有最新的保护性软件,则它们可被拒绝访问或被 "隔离"。隔离的客户机可被给予足以允许计算机被"补救"的对网络的有限 访问,诸如从服务器下载对保护性软件的更新。发明概述本发明涉及在网络中的客户机计算机之间共享更新信息。 在一方面,本发明涉及启动第一客户机和第二客户机之间的通信。确定第 一客户机和第二客户机的相对更新状态。基于该相对更新状态,第一客户机可信息。在另一方面,本发明涉及一种操作计算机系统的方法,其中第二客户机与 第一客户机进行关于其更新状态的信息的通信。如果第二客户机相对于第一客 户机是过时的,则第二客户机可从第一客户机接收可被安装在第二客户机上的 更新信息。在又一方面,本发明涉及具有控制客户机的计算机可执行指令的计算机可 读介质,这些指令在该客户机中执行。该客户机从第二客户机接收更新状态。 如果第二客户机相对于第一客户机是过时的,则第一客户机传递更新信息。以上是本发明的非限制概述,本发明由所附权利要求书来限定。附图简述附图并不旨在按比例绘出。在附图中,在各图中示出的每一相同或几乎相 同的组件由相同的标号来表示。为清楚起见,并非每一组件都在每一附图中标 出。附图中

图1是根据本发明的一个实施例的网络的略图;图2是在图1的网络中实现隔离强制实施策略的软件的软件框图; 图3是根据本发明的一个实施例在能够执行对等补救的两个客户计算机 中使用的软件的软件框图;以及图4是示出图3所示的客户计算机可用于建立通信的过程的流程图。详细描述通过增加系统补救因不包含或使用最新的软件而造成对网络的风险的客 户机的能力来提高联网计算机系统的完整性是合乎需要的。然而,保护等级的 任何增加不应对网络或网络用户带来不合理的负担,并且应被容易地管理。如 以下所描述的,提供了一种改进的隔离管理系统,其中客户计算机比较作为对 等通信的一部分的状态和补救信息。如此处所使用的,隔离强制实施策略指的是用于基于一客户机上的软件的 状态(也称为客户机"健康状况")来确定该客户机是否可被给予对网络的访 问的逻辑的实施。该策略可作为客户机为被授予网络访问而必须满足的一组准6则或规则被储存在数据结构中。然而,可以使用定义隔离强制实施策略的任何 适当的方法。此外,隔离强制实施策略可以仅是更大的访问控制策略的一部分。 因此,基于该隔离强制实施策略对网络访问的授予或拒绝的叙述并不排除客户 机将出于其它原因而被拒绝或授予访问的可能性。图1示出了可从在常规计算机系统中使用的设备构造的计算机系统100 的略图。然而,计算机系统100与常规计算机系统的不同之处在于,计算机系统100内的设备被编程为实现一改进的隔离管理系统,其中客户机可以在"对等"通信中交换补救信息。如此处所使用的,"对等"通信指的是网络内的两个客户机之间的通信。该通信可以直接在客户机之间传递,或者可以通过其它网络设备来路由。此外,由于网络中连接的设备可被编程为在不同的时刻执行不同的功能,因此网络"对等点"并不受任何特定的硬件配置的限制。在某些情况中,硬件被编程为用作网络中的服务器或扮演另一角色,而在其它情况中,硬件可被便成为用作 网络对等点。计算机系统100包括受管网络120。在此示例中,受管网络120可以是公 司或企业内的网络。或者,受管网络120可以是更大网络的域或其它部分。受 管网络120由提供用于网络的访问策略的个人或实体来管理。提供这些网络管 理功能的个人或实体一般被称为"网络管理员"。在联网的计算机系统中,可 以有提供网络管理功能的多个人或实体,并且其中任何一个或全部一般都可以 被称为网络管理员。如图1所示,受管网络120包括诸如服务器124和客户机110B和110C 等网络设备。此处,示出了将网络设备互连的广域网(WAN) 122。该配置是 出于图示的简单而示出的。受管网络可包含比图l所示的更多的设备。同样, 示出了单个WAN122,但是受管网络可包含不同或其它的互连体系结构。设备可以通过接入点116连接到受管网络120。受管网络120内的客户机 IIOB和IIOC中的每一个类似地可以通过接入点116或其它类似的接入点来连 接。图1的示例示出客户机IIOB和110C已经被给予对受管网络120的访问。 因此,其通过接入点的连接没有明确示出。客户机110B和110C在网络120 内是彼此的对等点。图1示出了试图通过接入点116连接到受管网络120的客户机110A。接 入点116可以是无线接入点、硬连线接入点或任何其它类型的接入点,无论是 现在已知的还是以后开发的。在图l的示例中,接入点116包括交换设备118 和服务器112。交换设备118表示可以被结合到接入点中的多种类型的交换设备中的任 一种。交换设备118可以是诸如路由器、交换机、集线器、网关或任何其它何 时的交换设备等设备。在操作中,服务器112用作访问控制服务器。服务器112A可以是服务器, 并且被方便地称作"RADIUS"服务器、"IAS"服务器或二级访问控制服务 器。然而,可使用任何适当编程的服务器。服务器112被编程为根据一隔离强 制实施策略来授予或拒绝网络访问。当诸如客户机110A等客户机试图接入受 管网络120时,服务器112确定客户机110A是否应被给予对受管网络120的 访问。接入点116此处被示为替换地或另外地允许客户机110A连接到受管网络 120外部的网络或设备,即使其被拒绝了对受管网络120的访问(即,客户机 被"隔离")。在图l所示的实施例中,交换设备118可允许客户机110A访 问因特网130。通过因特网130,客户机IIOA可到达诸如服务器150等设备。服务器150用作更新服务器。在所示的实施例中,服务器150耦合到数据 库152。数据库152可包含用于在客户机IIOA上执行的软件的软件更新。储 存在数据库152中的更新可以包括对可更改客户机110A的"健康状况"的反 病毒软件、反间谍软件的软件或其它软件的更新。如果客户机IIOA因其保护 性软件过时而被拒绝了对受管网络120的访问,则客户机110A仍可连接到更 新服务器150来获得对其保护性软件的更新。数据库152可包含可被下载以对客户机IIOA上的保护性软件操作的数据 文件形式的软件更新。例如,包含病毒签名或其它威胁签名的数据文件可被下 载以用于反病毒或反间谍软件程序。或者,数据库152可包含用于在客户机 110A上执行的保护性软件的补丁。补丁是已更新软件的表示,通常采用压縮 形式并且通常通过对软件程序的一个版本与稍后版本之间的差异进行编码来 产生。8此外,数据库152可以包含用于在客户机110A上执行的操作系统或其它 通用软件的补丁。尽管操作系统软件一般不被视为保护性软件,但是操作系统 软件的状态可能对客户计算机110A的健康状况有很大的影响。例如,黑客可 能试图发现并恶意利用操作系统软件中的弱点。作为响应,当标识出通用软件 中的漏洞时,软件厂商可发布修改该软件以去除这些漏洞的补丁或其它更新。 因此,客户机安装补丁,尤其是针对去除漏洞的补丁的程度可被视为客户机的 健康状况的指示。在某些实施例中,访问服务器112被编程为实现一隔离强制 实施策略,其中对受管网络120的访问至少部分地基于针对通用软件中的漏洞 的补丁是否已被安装在客户机上来授予或拒绝。在以下示例中,对操作系统软 件的补丁将被用作可被应用于客户机以改进客户机的健康状况的软件更新的 一个示例。然而,更新可被提供给软件的可执行部分或被提供给由该软件使用 的数据。客户机110A可以响应于来自操作客户机110A的用户的命令来访问来自 更新服务器150的软件更新。或者,客户机110A可以被编程为响应于被拒绝 对受管网络120的网络而自动访问更新服务器150。以此方式,缺少足够的健 康状况来允许进入受管网络120的客户机仍可被"补救",以使其有资格访问 受管网络120。转向图2,示出了客户机IIOA和访问服务器112内的软件的软件框图。 在所示的实施例中,该软件被实现为多个组件。每一组件可被实现为储存在计 算设备可访问的计算机可读介质中的多个计算机可执行指令。组件可以用任何 适当的语言来实现,并且可以在任何适当的计算设备上运行。可使用常规的编 程技术来实现此处更详细描述的功能。该软件控制网络中的设备根据一隔离强制实施策略来操作,该策略可由网 络管理员来指定。在给出的示例中,客户机软件的更新状态是在确定客户机是 否保证根据该策略来访问网络时所考虑的至少一个因素。如果访问服务器112 确定客户机UOA内的软件的更新状态不符合隔离强制实施策略,则服务器112 将对客户机110A拒绝访问。客户机110A然后可从更新服务器150下载补丁 以使其符合隔离强制实施策略。为获得补丁,客户机110A包括更新代理214。更新代理214是访问更新服务器150以获得并安装用于客户机110A内的操作系统软件的补丁的软件组件。更新代理214可以例如周期性地提示客户机 110A的用户以获得访问更新服务器150的许可来检查尚未安装在客户机110A 中的新补丁。或者,更新代理214可用自动的方式来操作,从而周期性地获得 补丁而不要求客户机110A的用户采取任何动作来启动更新过程。在所示的实施例中,客户机110A包括隔离代理210A。隔离代理210A收 集关于客户机110A的状态的信息,并将该状态信息作为健康状况陈述230提 供给在访问服务器112内操作的隔离代理210B。健康状况陈述230可以包含 隔离代理210B为确定客户机110A是否具有授权其根据隔离强制实施策略来 访问受管网络120的健康状况所必需或所期望的任何信息。在所示的实施例中,在健康状况陈述230中反映的状态信息定义了在客户 机110A的操作系统中的软件的更新状态。在该示例性实施例中,健康状况陈 述230中的信息的一部分描述了已被安装到客户机110A的操作系统的补丁。 然而,隔离强制实施策略可以考虑代替操作系统软件的更新状态或除这些更新 状态之外的因素。因此,健康状况陈述230可包含定义多种类型的信息的多个 字段。尽管为简明起见,仅明确描述了软件的补丁状态作为健康状况陈述230 中的更新信息的一个示例。在图2所示的示例中,采用了模块化体系结构。示出了多个系统健康状况 代理(SHA) 216A、 216B和216C。每一 SHA获得一特定类型的状态信息。 例如, 一个SHA可以获取关于防火墙软件的状态信息,而另一SHA可获得关 于反间谍软件的软件的信息。又一 SHA可获得关于客户机110A内的操作系统 软件的补丁状态的信息。每一 SHA获得的状态信息通过安全中心212来传递。安全中心212累积 状态信息,并将其提供给隔离代理210A。以此方式,可通过加入被设计成获 得来自或关于客户机110A内的任何保护性软件的状态信息的SHA来获得关于 该保护性软件的状态信息。至少一个SHA获得关于客户机110A内的操作系统软件的补丁状态信息。 这一 SHA可以基于更新代理214所生成的信息来确定补丁的状态。可使用确 定客户机的补丁状态的任何适当的方法。在图2的示例中,使用补丁注册表 222。补丁注册表222可被实现为客户机110A内的数据结构。在安装补丁之后,更新代理214可以在补丁注册表222中形成一条目。除了储存更新代理214应 用的补丁的指示之外,补丁注册表222还可储存可用于跟踪客户机110A的补 丁状态的其它信息,诸如创建、获得或安装补丁的时间。关于安装在客户机110A中的补丁的信息的可用性允许SHA通过读取更 新代理214在其安装补丁时储存的信息来生成补丁状态信息。因此,关于已安 装补丁的信息可被包括在作为客户机110A用于请求对受管网络120的访问的 交互的一部分从客户机110A发送到访问服务器112的健康状况陈述230中。更新代理214可被构造成在安装补丁之前认证它们。在所示的示例中,更 新代理214下载作为签名二进制文件220的补丁。签名是一种用证明代理发布 的"私钥"来编码数字文件的常规过程。证明代理使得"公钥"可用。公钥不 提供足以生成进一步的签名文件的信息。但是,公钥的持有者可以将公钥应用 于签名文件来确定该签名文件是用特定私钥生成的,且自从其生成以来没有被 更改。客户机110A可以具有与一个或多个证明代理相关联的多个公钥224。这 些密钥可从任何适当的源获得,诸如从证明代理下载它们。或者,来自多个证 明代理的公钥通常随操作系统软件一起提供。当更新代理214下载签名二进制文件220时,它向该文件应用公钥。如果 更新代理214成功地将公钥224应用于签名二进制文件220,则验证了该文件 的真实性。在验证了签名二进制文件220之后,更新代理214可安装包含在签 名二进制文件220中的补丁。在某些实施例中,公钥224是从客户机110A的 用户信任的源获得的。通过向用相应的私钥签名的更新应用可信公钥,更新代 理214可以确定它应当"信任"该更新,因为它源自一可信源,并且随后没有 被修改。一旦更新代理214安装了补丁,它可储存该签名二进制文件以供将来使用。服务器112包括适用于对访问请求作出响应的类似的模块化体系结构。服 务器112包括从客户机110A接收健康状况陈述230的隔离代理210B。服务器 112可包括一个或多个健康状态陈述验证符(SHV),其各自处理包含在陈述 230中的信息的一部分。在某些实施例中,服务器112将包括对应于客户机110A中的每一SHA的SHV。在图2的示例中,示出了SHV226A、 226B和226C。 在此示例中,服务器112中的一个SHV对应于客户机110A中的一个SHA。 然而,客户机110A和服务器112B内的软件可以用任何适当的方式来模块化, 并且并不要求每一 SHV都对应于一 SHA。在此示例中,服务器112内的SHV接收来自健康状况陈述230的、定义 客户机110A内的操作系统软件的补丁状态的信息。该SHV基于该补丁状态来 确定客户机IIOA是否符合隔离强制实施策略。SHV所作出的确定被提供给隔 离代理210B。隔离代理210B累积来自所有SHV的输出,并生成指示客户机 110A是否有资格根据隔离强制实施策略来进行访问的响应。该判定可由隔离 代理210B提供给访问服务器112内根据常规的访问控制技术来管理对受管网 络120的访问的其它软件。另外,隔离代理210B生成健康状况陈述响应232,该响应被发送到客户 机110A内的隔离代理210A。如果隔离代理210B确定客户机IIOA没有被授 权访问,则健康状况陈述响应232可指出客户机110A为何不符合隔离强制实 施策略的原因。接收到指示客户机110A被隔离的健康状况陈述响应232之后,隔离代理 210A可启动补救。如果客户机110A由于其操作系统软件的补丁状态而被隔 离,则隔离代理210A可触发更新代理214以从更新服务器150获得补丁,以 便使客户机110A符合隔离强制实施策略。仅当客户机在最初请求对受管网络120的访问时是过时的情况下,图2 所示的软件组件可用于检测不具有最新软件的客户机(称为"过时客户机")。 图2所示的方法不能用于检测因更新在客户机连接到网络120之后变得可用而 过时的客户机。此外,根据所示方法的补救要求试图访问网络的每一客户机从 服务器下载信息。要求每一客户机从服务器获得更新可能会不合需要地增加网 络由于下载而引起的网络通信量的增加在每一客户机通过网关或其它网络瓶 颈访问更新服务器150的情况下尤其是不合需要的。图2所示的用于检测和补 救过时客户机的方法可通过允许对等更新来改进。图3示出了更新管理系统的一个替换实施例。作为迫使客户机在试图访问 受管网络120时更新软件的替代或补充,对过时客户机的检测和补救可作为在已经被授予对受管网络120的访问的客户机之间建立对等通信的一部分来发生。例如,客户机110B和110C在图1中被示为已经被授予了对受管网络120 的访问。此时,在客户机110B和110C被授予对受管网络120的访问,因此 每一客户机实际上都符合隔离强制实施策略。然而,如果在客户机110B或110C 的任一个被授予对受管网络120的访问的事件之后或者隔离强制实施策略改 变,或者有另外的更新变得可用,则客户机110B或110C之一可能包含过时 软件。作为在客户机110B和110C之间建立连接的一部分,客户机可交换健康 状况信息,从而允许每一客户机确定另一客户机是否较新。如果一个客户机被 确定为与另一客户机相比较新,因此该较新的客户机可将其接收到的更新提供 给该较过时的客户机。当网络中的一个客户机从更信服务器或其它源获得更新 时,该更新将随着网络中的客户机参加对等通信而从一个客户机传播到另一客 户机。以此方式,客户机可在除了最初请求对受管网络120的访问的时间之外 的其它时间时常接收更新。此外,通过在受管网络120内进行对等传递,对更新服务器150施加了较 少的负担。部署更新在受管网络120和更新服务器150之间的路径不大会产生 瓶颈。可使用对等更新而不管用于客户机110B和110C之间的通信的特定协议 是什么。在所描述的实施例中,客户机110B和110C通过首先经一系列握手 消息建立连接来通信。不同的协议以不同的方式建立连接。例如,使用TCP 协议的通信建立称为"会话"的连接。或者,使用UDP协议通信的客户机分 配之后在通信中使用的端口。其它协议和软件系统以不同的方式建立连接,并 且用不同的术语来描述这些连接。连接可以例如被描述为"管道"或"套接字"。 不论连接或网络分层结构中建立连接之处的层的具体名称或格式是什么,健康 状况陈述的交换都可被结合到建立连接的过程中。现在转向图3,提供了可用于促进对等更新的软件体系结构的一个示例。 在所示的实施例中,每一客户机包含相同的软件。在任何给定时刻,客户机可 以或者提供或者接收更新。因此,两个客户机中的软件都适用于提供或接收更 新,作为对等更新的一部分。如图3所示,客户机110B包括生成健康状况陈述330B的隔离代理310B。 健康状况陈述330B作为建立连接的过程的一部分被发送到客户机IIOC。类似 地,客户机IIOC包括生成被发送到客户机110B内的隔离代理310B的健康状 况陈述330C。隔离代理310B和310C的每一个可生成一般如以上结合图2所描述的健 康状况陈述。在所示的示例中,客户机110B包括SHA 316B,它可获得来自 补丁注册表220B的关于安装在客户机110B中的补丁的数据。该信息可以通 过安全中心312B提供给隔离代理310B,以便用于生成健康状况陈述330B。 类似地,客户机110C包括SHA316C,它可获得来自客户机110C中的补丁注 册表222C的数据。该信息可通过安全中心312C传递给隔离引擎310C以便用 于生成健康状况陈述330C。在此实施例中,健康状况陈述330B和健康状况陈述330C包含相同的格 式,其可以是与健康状况陈述230B (图2)相同的格式。然而,结合发起对等 通信而作出的更新状态的确定可涉及检验作为应用结合图2所描述的隔离强制 实施策略的一部分而检查的客户机110B和110C中的每一个的操作的更少元 素的状态。在其中仅将每一客户机的操作系统的补丁状态认为是对等更新的一 部分的实施例中,健康状况陈述330B和330C可以仅包含涉及补丁状态的数 据。在生成健康状况陈述时,隔离代理310B和310C中的每一个执行与客户 机110A中的隔离代理210A(图2)的功能可比的功能。因此,每一客户机310B 和310C包括至少一个SHA,被示为SHA 316B和316C,以获得关于客户机的 状态信息。另外,隔离代理310B和310C中的每一个处理它接收到的健康状况陈述, 并生成响应。因此,隔离代理310B和310C中的每一个执行类似于包含在服 务器112中的隔离代理210B的功能的功能。如在图2的实施例中一样,关于 由隔离代理生成的响应的信息从SHV中获得。因此,客户机110B和IIOC分 别包括SHV 326B和SHV 326C。在接收到健康状况陈述330B之后,隔离代理 310C将来自健康状况陈述330B的状态信息提供给SHC 326C。如同结合图2 所描述的SHV—样,SHV326C将健康状况陈述中的状态信息与准则进行比较,从而允许SHV 326C确定发送健康状况陈述330B的客户机是否需要更新。SHV 326C可应用与图2中的SHV所应用的算法相比的算法,以确定客 户机110B是否符合隔离强制实施策略。或者,SHV 326可应用依照对等更新 策略的算法,该算法确定客户机110B或客户机110C中的任一个是否应由另 一个更新。在某些实施例中,对等更新策略规定较过时的客户机从较新的客户 机接收更新。例如,如果健康状况陈述330B包含标识客户机110B内的软件的最新近 更新时间的字段,可应用这一策略。在接收到这一信息之后,SHV 326C可将 客户机110B的最新近更新时间与储存在补丁注册表222C中的最新近更新时 间进行比较。然而,SHV 326C可执行任何其它适当的处理来生成由隔离代理 310C用于实现对等更新策略的状态信息。基于由SHV 326C返回给隔离代理310C的状态信息,隔离代理310C生 成响应332C。健康状况陈述响应332C将关于客户机110B的更新状态的信息 传递给隔离代理310B。在所描述的实施例中,健康状况陈述响应332C向客户 机IIOB指示客户机110B中的软件与客户机110C中的软件相比是否是较过时 的。客户机110B内的隔离代理310B执行类似于隔离代理310C的功能的功 能。具体地,隔离代理310B接收描述客户机110C的更新状态的健康状况陈 述330C。基于包含在健康状况陈述330C中的信息以及补丁注册表222B中的 信息,SHV 336B向隔离代理310B返回关于客户机110C的更新状态的信息。 隔离代理310B使用该信息来生成被发送给隔离代理310C的健康状况陈述响 应332B。健康状况陈述响应332B向客户机110C指示其软件与客户机110D 中的软件相比是否较过时。如果作为交换状态信息的结果,客户机110B和110C确定一个客户机包 含与另一客户机相比较过时的软件,则包含较新软件的客户机可发送所储存的 包含该较过时客户机所需的更新的二进制文件。例如,如果客户机110B与客 户机110C相比较新,则SHV 326B可读取补丁注册表222B以标识在客户机 110C被最后一次更新之后安装在客户机110B中的补丁。 SHV326B然后可向 隔离代理310B提供对应于这些补丁的签名二进制文件列表。隔离代理310B可将该补丁列表提供给更新代理310B。更新代理314B可按类似于更新服务器150上的更新代理的方式来操作, 并提供二进制文件。在这一配置中,更新代理314B为更新代理314C提供二 进制文件。更新代理314C可接收该二进制文件,并以如同这些更新是从服务 器150中下载的相同方式将这些更新安装到客户机110C的软件中。即使更新文件是通过对等来发送的,但是进行认证以保持更新过程的完整 性是可行的。由于客户机110B和110C中的每一个都包括公钥,诸如224B和 224C,因此任一客户机可以认证签名二进制文件。更新代理314C可确认二进 制文件的来源,并且可确认该二进制文件自从生成以来没有被更改。当客户机 是用可信公钥来配置的时候,更新代理314C可以确定是否信任该更新。更新代理314C可以被配置成仅当从另一客户机接收到的二进制文件为可 信的时候安装来自这些文件的更新。提供包含更新的二进制文件的过程可以在客户机110C包含与客户机 110B相比较新的软件时反向执行。在这一情形中,更新代理314C用作更新代 理314B的源。更新代理314B接收文件、认证它、并应用包含在该文件中的 更新。图3所示的系统可根据任何适当的对等更新策略来操作。例如,该策略可 在确定一个客户机包含过时软件时需要有限形式的隔离。具体地, 一个客户机 可拒绝与包含过时软件的另一客户机建立连接。然而,其它策略也是可行的, 并且关于客户机之一包含与另一客户机相比较过时的软件的判定不一定要导 致迫使该过时客户机更新的隔离。过时客户机的更新可以是"自愿"的,使得 第一客户机和第二客户机之间的连接不论较过时的客户机是否更新其软件都 可以进行。作为替换策略的进一步示例,较过时的客户机缺少的更新的特性可 指示更新是通过隔离来强制实施的还是自愿的。例如,某些更新可被提供这些 更新的软件厂商分类为"关键的"。最新的客户机可以拒绝与缺少关键更新的 过时客户机建立连接,但是也可用其它方式来建立连接。不论使用了什么对等更新策略,较新的客户机都不一定要向较过时的客户 机提供二进制文件。向一客户机指示与其正在建立连接的客户机相比较过时的 健康状况陈述响应可以替换地触发该过时客户机以激活其更新代理来从更新16服务器下载更新。在另一替换实施例中,该较新的客户机可在其用于更新的二 进制文件可用时提供这些文件,但是在较过时的客户机没有二进制文件可用时 向过时客户机发送指示该较过时的客户机应从更新服务器进行更新的健康状 况陈述响应。作为又一替换,较过时的客户机可以在二进制文件可用时从较新 的客户机接收并安装这些文件。但是,如果较过时的客户机没有接收到或不能 认证该二进制文件,则该较过时的客户机可自己启动从更新服务器的更新下 载。现在转向图4,示出了图3所示的客户机可用于操作的示例性过程。该过 程在框410处开始,在那里客户机l和客户机2启动一对等IPsec连接。尽管 图4所示的过程可以与任何格式的通信一起使用,但是使用IPsec连接可能是 有利的。IPsec协议要求在建立连接之前认证对等点。认证启动对等通信的客 户机是受管网络120的合法部分增加了更新过程管理的完整性。此外,IPsec 协议指定了其间可容易地适应状态信息的交换的认证阶段。不论使用的具体通信协议是什么,该过程都继续到框412,在框412处, 从至少一个客户机向另一客户机发送健康状况陈述信息。如图3所示,每一客 户机都能够或者作为健康状况陈述信息的源,或者作为接收方。如果客户机交 换健康状况陈述信息,两者均可确定哪些客户机是较新的。或者,如果健康状 况陈述信息是仅从一个客户机发送到另一个的,则该健康状况陈述信息的接收 方可标识哪一客户机是较新的。如果对哪一客户机是较新的判定是由一个客户 机作出的,则该判定可在健康状况陈述响应中传递给另一客户机。不论哪一客户机处理该健康状况陈述信息,都在判定框414处将两个客户 机的补丁状态进行比较。如果每一客户机具有相同的补丁状态,则该处理前进 到框430。在框430处,客户机可在没有更新任一客户机的进一步工作的情况 下进行通信。或者,如果在判定框414处的处理确定客户机之一与另一客户机相比较 新,则处理前进到判定框416。在判定框416处,该过程取决于哪一客户机较 过时而进行分支。如果客户机1并不是较过时的,则处理前进到框418。在框 418处,客户机1向客户机2发送补丁信息,使得客户机2可获得与客户机1 相同的更新状态。在从客户机1接收到补丁之后,客户机2试图验证该补丁。验证可涉及确 定该补丁的原始来源以及该补丁自从创建以来是否被修改。验证可涉及任何适当的过程,诸如使用由证书代理分发的公钥。如果客户机2能够验证该补丁, 则处理前进到框424,在框424处,将该补丁安装到客户机2上。之后,客户 机2达到了与客户机1相同的更新状态,并且该过程前进到框430,在那里可 发生客户机1和客户机2之间的通信。或者,如果在客户机2处接收的补丁不能被验证,则处理前进到框422。 在图4所示的过程中,如果出于任何原因客户机2不能验证由客户机1提供的 补丁,则客户机2从下载服务器下载补丁。作为框422中的处理的一部分,客 户机2安装该下载的补丁。之后,处理前进到框430,在那里客户机l和客户 机2进行通信。或者,如果在判定框416处的处理确定客户机1相对于客户机2是过时的, 则处理前进到框440。在框440处,客户机2向客户机1发送补丁,使得客户 机1可获得与客户机2相同的更新状态。在判定框442处,客户机l试图验证 由客户机2提供的补丁。如上结合判定框420所描述的,客户机l可使用任何 适当的用于验证补丁的方法。如果客户机1能够验证该补丁,则该过程前进到 框446,在那里将该补丁安装到客户机1上。另外,如果客户机l不能验证该 补丁,则该过程从判定框442前进到框444。在框444处,客户机1从更新服 务器下载补丁。不论客户机1是从客户机2还是下载服务器接收补丁,该过程都前进到框 430,在那里客户机1和客户机2进行通信。如此描述了本发明的至少一个实施例的若干方面之后,可以理解,本领域 的技术人员将容易想到各种更改、修改和改进。例如,定义了其中将更新从一个计算机提供给另一的对等更新策略。对操 作系统软件的补丁被描述为可被提供的一种类型的更新的示例。可以提供任何 更新信息作为对等更新过程的一部分。对其它软件,不论是完全新的软件还是 数据文件的更新,诸如包含在病毒签名中的那一些,都可从一个客户机提供给 另一个。此外,提供了替换的对等更新策略的示例。软件可被构造成根据这些策略中的任何一个来操作。或者,软件可被构造成可由网络管理员来配置,从而允 许网络管理员选择这些策略中的任一个或任何组合。此外,描述了建立连接的客户机基于状态信息的交换来确定一个客户机相 对于另一客户机是过时的。可采用任何其它方法来确定一个客户机缺少可以由另一客户机提供的更新。例如,任一客户机或两者都可向诸如更新服务器等外 部信息源咨询可用更新。此外,描述了当两个客户机启动连接时应用对等更新策略。该更新策略可 以在两个或更多客户机交互的任一时刻应用。此外,可强制交互,以使客户机 应用对等更新策略。这一连接可以通过周期性地使得每一客户机联系网络中的 其它客户机来强制进行。这一方法在作为网络中的客户机中的后台进程来执行 时是合乎需要的。这些更改、修改和改进旨在成为本公开的一部分,并且旨在落入本发明的 精神和范围之内。因此,以上描述和附图仅作为示例。以上描述的本发明的实施例可以用多种方式中的任一种来实现。例如,各 实施例可使用硬件、软件或其组合来实现。当用软件实现时,软件代码可在任 意适当的处理器或处理器集合上执行,不论其是在单个计算机中提供的还是分 布在多个计算机之间。并且,此处所略述的各种方法或过程可被编码为在采用各种操作系统或平 台中的任一种的一个或多个处理器上执行。另外,该软件可以使用多种合适的 编程语言和/或常规编程或脚本工具中的任一种来编写,并且还可被编译为机器 语言代码或在框架或虚拟机上执行的中间代码。在这一方面中,本发明可被实施为用一个或多个程序编码的计算机可读介 质(或多个计算机可读介质)(例如,计算机存储器、 一个或多个软盘、紧致 盘、光盘、磁带等),这些程序当在一个或多个计算机或其它处理器上执行时 执行实现以上讨论的本发明的各实施例的方法。计算机可读介质或媒体可以是 可转移的,使得其上储存的一个或多个程序可被加载到一个或多个不同计算机 或其它处理器上以实现以上讨论的本发明的各方面。术语"程序"或"软件"在此以一般的意义用于指代可用于对计算机或其 它处理器编程以实现以上讨论的本发明的各方面的任何类型的计算机代码或计算机可执行指令集。另外,应当认识到,根据本实施例的一方面,当被执行 时执行本发明的方法的一个或多个计算机程序无需驻留在单个计算机或处理 器上,而是可以按模块化的方式分布在多个不同的计算机或处理器之中以实现 本发明的各方面。
计算机可执行指令可以采用许多形式,诸如由一个或多个计算机或其它设 备执行的程序模块等。 一般而言,程序模块包括执行特定任务或实现特定抽象 数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能可 按各实施例中所需地组合或分布。
本发明的各方面可以单独地、组合地、或以以上描述的实施例中未具体讨 论的各种安排来使用,并且因此其应用不限于以上描述中所阐明或附图中所示 的组件的细节和排列。例如, 一个实施例中所描述的各方面可以用任何方式与 其它实施例中描述的各方面组合。
在权利要求书中使用诸如"第一"、"第二"、"第三"等序数词来修饰 一权利要求要素本身并不意味着一个权利要求要素相对于另一权利要求要素 的任何优先级、优先次序或顺序,也不意味着执行一方法的各动作的时间顺序, 而是仅用作将具有特定名称的一个权利要求要素与具有相同名称(但使用了序 数词)的另一要素进行区分以区分各权利要求要素的标记。
并且,此处使用的措词和术语是出于描述的目的,不应被认为是限制。此 处对"包括"、"包含"、"具有"、"含有"、"涉及"及其变体的使用意 在包含其后列出的项目及其等效项目以及附加项目。
权利要求
1.一种操作具有第一客户机和第二客户机的计算机系统的方法,所述方法包括a)启动所述第一客户机和所述第二客户机之间的通信,启动通信包括在所述第一客户机处从所述第二客户机接收更新状态;b)查明所述第一客户机和所述第二客户机之间的相对更新状态;以及c)基于所述相对更新状态,将更新信息从所述第一客户机传递到所述第二客户机。
2. 如权利要求1所述的方法,其特征在于,传递更新信息包括发送签名 文件。
3. 如权利要求2所述的方法,其特征在于,所述签名文件包括用于在所 述第二客户机上操作的软件的补丁。
4. 如权利要求1所述的方法,其特征在于,传递更新信息包括发送可由 所述第二计算机用于执行更新的信息。
5. 如权利要求1所述的方法,其特征在于,传递更新信息包括发送所述 第二客户机相对于所述第一客户机为过时的指示。
6. 如权利要求1所述的方法,其特征在于,启动所述第一客户机和所述 第二客户机之间的通信包括启动IPsec会话。
7. 如权利要求l所述的方法,其特征在于,还包括d) 确定与在所述第一客户机上操作的软件上安装的补丁有关的状态信 息;以及其中i) 从所述第二客户机接收所述更新状态包括接收标识所述第二客户 机上安装的补丁的第二状态信息;以及ii) 查明所述第二客户机是否过时包括将所述更新状态信息与所述第 二更新状态信息进行比较。
8. 如权利要求7所述的方法,其特征在于,还包括在启动通信之前,从 一更新服务器下载补丁到所述第一客户机。
9. 一种操作具有第一客户机和第二客户机的计算机系统的方法,所述方 法包括a) 启动所述第一客户机和所述第二客户机之间的通信,启动通信包括从 所述第二客户机发送关于所述第二客户机的更新状态;以及b) 在所述第二客户机处从所述第一客户机接收更新信息。
10. 如权利要求9所述的方法,其特征在于,接收更新信息包括接收签名 文件。
11. 如权利要求10所述的方法,其特征在于,还包括在所述第二客户机处d) 检验所述签名文件是否可信;以及e) 如果所述签名文件可信,则使用所述签名文件来将一更新安装在所述 第二客户机上。
12. 如权利要求10所述的方法,其特征在于,还包括在所述第二客户机处d) 检验所述签名文件是否可信;以及e) 如果所述签名文件不可信,则从一更新服务器下载更新到所述第二客户机。
13. 如权利要求9所述的方法,其特征在于,还包括d) 确定与在所述第一客户机上操作的软件上安装的补丁有关的所述第一 客户机的状态信息;以及e) 基于关于所述第二客户机的更新状态和所述第一客户机的状态信息, 从所述第一客户机向所述第二客户机发送所述第二客户机相对于所述第一客 户机为过时的指示。
14. 如权利要求13所述的方法,其特征在于,还包括在启动通信之前从 一更新服务器更新所述第一客户机。
15. —种具有用于执行以下步骤的计算机可执行指令的计算机可读介质, 所述步骤包括a) 査明其上执行所述计算机可执行指令的第一客户计算机的更新状态;b) 从第二客户计算机接收一更新状态;c) 确定所述第二客户计算机相对于所述第一客户计算机是否过时;以及d) 将一更新传递到所述第二客户计算机。
16. 如权利要求15所述的计算机可读介质,其特征在于,所述计算机可 读介质还将更新信息储存在一更新文件中,并且传递更新包括发送所述更新文 件。
17. 如权利要求16所述的计算机可读介质,其特征在于,所述更新文件 包括病毒签名。
18. 如权利要求16所述的计算机可读介质,其特征在于,还具有用于执 行以下步骤的计算机可执行指令e) 从所述第二客户计算机接收第二更新;以及f) 确认所述第二更新文件的真实性。
19. 如权利要求18所述的计算机可读介质,其特征在于,确认真实性包 括向所述第二更新文件应用一密钥。
20. 如权利要求19所述的计算机可读介质,其特征在于,所述第二更新 文件包括用于储存在所述计算机可读介质上的操作系统软件的补丁。
全文摘要
一种网络,其中提供了对等补救来保持网络中的客户机最新。当网络客户机建立对等连接时,它们交换状态信息。该状态信息允许客户机互相标识一个客户机与另一客户机相比是否较新。该较新的客户机向较过时的客户机提供更新信息。为保持更新过程的完整性,更新作为签名二进制文件来提供,并且仅在该二进制文件可由接收方认证时由接收该更新的客户机来应用。
文档编号G06F17/00GK101326510SQ200680046044
公开日2008年12月17日 申请日期2006年12月8日 优先权日2005年12月8日
发明者C·C-H·乔伊 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1