用于远程管理计算机网络的系统及方法

文档序号:7796909阅读:288来源:国知局
专利名称:用于远程管理计算机网络的系统及方法
技术领域
本发明总的来讲涉及远程控制技术领域,且尤其涉及用于远程管理计算机网络的系统、方法和计算机程序产品。
背景技术
个人计算机(PC)已经成为任一企业的重要部分。一个现代化的办公室,无论其规模大小,如果没有为每一位员工配备个人计算机是不可想象的。公司的个人计算机通常连接到计算机网络中,这使得在计算机用户之间进行安全通信和文件交换成为可能。然而,对有数百甚至常常是数千独立的个人计算机和诸如由员工所使用的打印机、扫描仪、传真机和移动通信设备的其它联网设备的大型公司网络进行管理是复杂的任务。网络管理中的失败可能导致网络安全缺口(breach)、计算机故障和其它可能对员工生产率产生负面影响并在利润损失和修理费用方面付出数千美元代价的问题。为此,对于解决问题的方法的开发,类似于远程安装的或者基于云的软件的应用程序,最近已经获得进展。例如,一个这样的方法是“软件即服务”(SaM)方法。MaS是软件销售商业模式,其中供应商开发网络应用程序并独立地对其加以管理,为客户提供对软件的在线访问。因此,可以在服务供应商的安装了该软件的服务器和公司的联网个人计算机之间在线实现所有的交互。在远程管理网络计算机的这个和其它情况里,可能会出现一定的困难,这是因为不是每一个联网的个人计算机都能够连接到互联网或者这样的个人计算机可能位于服务供应商的服务器无法访问的封闭的网络中。因此,需要改进用于远程管理计算机网络的技术。

发明内容
本发明公开了用于远程管理计算机网络的系统、方法和计算机程序产品。在一个示范性实施例中,该系统包括评级规则数据库,所述评级规则数据库包含多个计算机性能评级规则和可操作地耦合到所述评级规则数据库的评级模块,所述评级规则数据库配置为从部署在网络中的计算机上的管理代理端(agent)接收在其上部署有所述代理端的计算机的配置信息;基于收集到的配置信息,使用来自所述评级规则数据库的评级规则来计算这些计算机的性能评级;以及为该计算机网络选择具有最高性能评级的计算机作为远程管理服务器的本地管理代理主机(proxy)。所述系统进一步包括多个服务模块以及控制模块,所述多个服务模块配置为基于收集到的配置信息为这些计算机生成多个不同管理任务,所述控制模块配置为传输控制指令到本地管理代理主机,以由部署在该网络中的计算机上的管理代理端执行一个或者多个管理任务;并且通过该本地管理代理主机建立与至少一个管理代理端的连接,以执行其上部署有所述代理端的计算机的管理任务。以上本发明示范性实施例的简要概括用于提供对这种实施例的基本理解。此发明内容并不是本发明所有设想的方面的宽泛概述,并且既不意图确定所有实施例的重要或关键要素也不意图限制任何或所有实施例的范围。其唯一的目的在于以简要的形式提出一个或多个方面的一些构思来作为下面更为详细的描述的前序。为了实现前述的以及相关的目的,一个或多个实施例包括将在下面充分描述且在权利要求书中特别指出的特征。下面的描述和附图详细地阐述了一个或多个实施例的特定示范性特征。但是,这些特征仅表示其中可以采用该发明的各个方面的原理的各种方式中的一些,并且此描述意图包括该发明的所有这样的方面及其等同物。


并入说明书中并构成说明书的一部分的附图示出了本发明的一个或多个示范性实施例,并与详细描述一起用于解释本申请实施例的原理和实施方式。附图中图IA根据一个示范性实施例,示出了在管理服务器和受控个人计算机直接通信的情况下,用于远程管理联网的个人计算机的系统的示意图;图IB根据一个示范性实施例,示出了在DMZ网络情况下联网的个人计算机的远程管理系统的示意图;图IC根据一个示范性实施例,示出了当个人计算机位于与管理服务器的网络不同的单独的计算机网络时的情况下,用于远程管理联网的个人计算机的系统的示意图;图2A根据一个示范性实施例,示出了管理服务器与DMZ联网的个人计算机之间的通过管理代理主机经由UDP和TCP协议的交互机制;图2B根据一个示范性实施例,示出了管理服务器与在不同于管理服务器的网络的网络中联网的个人计算机之间通过管理代理主机经由UCP和TCP协议的交互机制;图3A根据一个示范性实施例,示出了管理服务器与在不同于管理服务器的网络的网络中所有联网的个人计算机之间的详细交互;图:3B根据一个示范性实施例,示出了管理服务器与在DMZ网络中所有联网的个人计算机之间的详细交互;图3C根据一个示范性实施例,示出了管理服务器与网络中的管理代理主机之间的详细交互;图4根据一个示范性实施例,示出了用于确定个人计算机的总体性能评级的控制模块、评级模块和评级数据库之间的交互的示例;图5根据一个示范性实施例,示出了用于基于清晰逻辑评价每台个人计算机的总体性能评级以选择最适合的个人计算机设置为管理代理主机的算法;图6根据一个示范性实施例,示出了用于基于模糊逻辑评价每台个人计算机的总体性能评级以选择最适合的个人计算机设置为管理代理主机的算法;图7根据一个示范性实施例,示出了远程管理联网计算机的方法的算法;图8根据一个示范性实施例,示出了在扩展的网络中管理服务器与多个管理代理主机之间的交互;图9根据一个示范性实施例,示出了计算机系统的示意图。
具体实施方式
在本文中,将围绕用于远程管理计算机网络的系统、方法和计算机程序产品来描述本发明的示范性实施例。本领域普通技术人员应认识到,下面的描述仅仅是示例性的而并非意图进行任何方式的限定。受益于本发明的本领域技术人员将容易获得其他实施例的启示。现在,将更为详细地描述如附图中所示的示范性实施例的实施方式。贯穿全部附图以及下列描述,相同的附图标记将尽可能用于表示相同或相似的对象。图IA根据一个示范性实施例,示出了在管理服务器102和受控个人计算机103直接通信的情况下,用于联网计算机的远程管理系统。如图所示,可以是例如公司网络的网络 101可包括多台个人计算机103。管理服务器102可通过网络101的个人计算机103到管理服务器102的直接连接来解决任一联网的个人计算机103的远程管理任务。因此,管理服务器102也位于网络101中。每台个人计算机103在其上安装有管理代理端,管理服务器102根据需求发送控制信号给所述代理端,且所述代理端根据需要与管理服务器102通信。远程管理任务是由管理服务器102提供给个人计算机103的范围广泛的活动。这些活动包括,但不限于·更新个人计算机103上的反病毒数据库和软件模块;·管理任一个人计算机103的策略和组任务;·在任一个人计算机103上远程安装应用程序和补丁 ;·在任一个人计算机103中寻找漏洞(vulnerability);·任一个人计算机103的软件和硬件清点(inventory);以及·在管理服务器102上存储任一信息。以上任务列表是示例性列表,并非对管理服务器102的功能加以限制。然而,在一些情况下,对于管理服务器102和其上安装有管理代理端的个人计算机103之间的网络交互而言,示出的远程管理架构可能不会有效。例如,这种情况可以是当个人计算机103位于为DMZ(隔离区)或者其它类型的封闭网络(closed network)的网络 101内的情况。DMZ是提供信息周边保护的技术,其中个人计算机103在专用网段(称为 DMZ)中并且由于内部网络的防火墙受限访问其它网段。因此,从在网络101即DMZ或者封闭网络中的个人计算机103到安装有管理服务器102的网段的连接是不可能的。图IB根据一个示范性实施例,示出了在DMZ (或者其它封闭)网络101的情况下, 联网个人计算机的远程管理系统。DMZ网络101包括多个其上部署有管理代理端的个人计算机103 ;DMZ网络101的个人计算机103到管理服务器102的网段的连接被防火墙105阻止。根据一个实施例,为了避免DMZ网络101的个人计算机103和位于不同于DMZ网络101的网段中的管理服务器102的通信问题,管理服务器102从安装有管理代理端的个人计算机的组中选择一台个人计算机104。进一步地,将那台个人计算机103指定为网络 101的管理服务器102的本地管理代理主机104。然后,任一安装有管理代理端的个人计算机103通过管理代理主机104建立到管理服务器102的连接。管理代理主机104和DMZ网络101的任一个人计算机103之间的连接建立在它们的管理代理端之间。管理服务器102和安装有管理代理端的个人计算机103之间无效网络交互的其它情况是,当个人计算机103位于与管理服务器102的网络106不同的单独的网络101中时。 图IC示出了用于网络101内的个人计算机的远程管理系统的流程图,其中个人计算机103
7位于与管理服务器102的网络106不同的单独的网络101中。这里,网络101的安装有管理代理端的个人计算机103与位于不同的网络106中的管理服务器102之间的通信通过互联网anternet)105实现。然而,在这个网络配置中,网络101里一些个人计算机103无法访问互联网105。为了执行网络101中个人计算机103上(甚至在无法访问互联网105的个人计算机103上)的远程管理任务,位于其它网络106中的管理服务器102选择网络101 中的管理代理主机104用于通信。与管理服务器102的通信通过安装在管理代理主机104 上的管理代理端实现。然后,在不同于管理服务器102的网络106的网络101中的安装有管理代理端的任一个人计算机103都通过管理代理主机104建立到管理服务器102的连接。 管理代理主机104和在不同于管理服务器102的网络106的网络101中的任一个人计算机 103之间的连接建立在它们的管理代理端之间。管理服务器102、管理代理主机104和网络101中安装有管理代理端的任一个人计算机103之间的连接通过目前在使用的网络协议实现。这些可以是,例如UDP和TCP协议。图2A示出了管理服务器203(与102相同)与位于网络201 (与101相同)即DMZ 中的个人计算机205(与103相同)之间的经由管理代理主机204(与104相同)采用UDP 和TCP协议的交互机制。DMZ网络201中的每一台个人计算机205其上均安装有管理代理端206。管理代理主机204也安装有管理代理端206a。安装在管理代理主机204中的管理代理端206a与安装在DMZ网络201中个人计算机205中的代理端206相同。这些代理端执行多项任务,例如,它们可被用于通过管理代理主机204将DMZ网络201中的个人计算机 205连接到位于不同于DMZ网络201的内部网络202中的管理服务器203。管理服务器203 建立到管理代理主机204的管理代理端206a的TCP连接。而且,管理服务器203发出UDP 控制信号到管理代理主机204的管理代理端206a以执行某一远程管理任务。而且,安装在管理代理主机204上的管理代理端206a能够将来自管理服务器203的UDP控制信号转发到安装在DMZ网络201中的任一个人计算机205上的任一管理代理端206。响应于该UDP 控制信号,任一个人计算机205的管理代理端206均建立TCP连接到管理代理主机204的管理代理端206a,并执行所需的远程管理任务。这样,在DMZ网络201中的每台个人计算机205上的管理代理端206均可通过管理代理主机204上的管理代理端206a建立到管理服务器203的TCP连接;它能够分别传输数据到管理服务器203和接收数据。图2B示出了管理服务器203和位于网络201中的个人计算机205之间通过管理代理主机204采用UCP和TCP协议交互的机制,其中所述网络201不同于管理服务器203 所在的外部网络202。为了强制建立到安装在管理代理主机204上的管理代理端206a的连接,管理服务器203传输UDP控制信号到管理代理端206a以执行远程管理任务。在接收到 UDP控制信号以后,管理代理主机204上的管理代理端206a采用TCP协议建立到管理服务器203的连接。然后,安装在管理代理主机204上的管理代理端206a能够转发来自管理服务器203的UDP控制查询(query)到安装在网络201中任一个人计算机205的任一管理代理端206。响应于来自管理服务器203的UDP控制查询,任一个人计算机205的管理代理端 206均建立到管理代理主机204的管理代理端206a的TCP连接并执行所需远程管理任务。 这样,网络201中的每台个人计算机205的管理代理端206均可通过管理代理主机204的管理代理端206a采用TCP协议连接到位于不同于网络201的外部网络202中的管理服务器203,并分别传输数据给管理服务器203和接收数据。
图3A根据一个示范性实施例,示出了管理服务器301 (与102和203相同)和在网络302(与101和201相同)的所有个人计算机308(与103和205相同)之间的详细交互。这里的网络302是不同于管理服务器301的计算机网络的计算机网络。网络302中的每台个人计算机308都是唯一的;每台个人计算机308有其唯一的固件配置。个人计算机 308可以是并非意图用来执行复杂计算的上网本,或者可以是高性能的个人计算机。网络 302中的任一个人计算机308在其上均可以安装有各种应用程序,包括资源密集型的应用程序。由于固件配置的不同,位于网络302中的个人计算机308的性能不同。而且,在管理服务器301和任一个人计算机308之间经由管理代理主机建立连接的任务以及经由管理代理主机从任一个人计算机308传输信息到管理服务器301的任务会对管理代理主机的性能有影响。这样,为了达到从网络302中的个人计算机308之一到管理服务器301的连接和数据传输任务的最有效的解决方案,管理代理主机应该具有高性能。如上所述,为了与位于不同于管理服务器301的网络的网络302中的远程个人计算机308通信,管理服务器301 从多台个人计算机308中选择将被指定为网络302的管理代理主机的那台个人计算机。而且,管理代理主机将用于网络302中的任一个人计算机308和管理服务器301之间的通信。 从网络302中的多台个人计算机308中选择管理代理主机的机制在下文描述。在一个示范性实施例中,管理服务器301包括多个服务306、管理数据库307、评级数据库305、评级模块304和控制模块303。一些服务306用于网络302的远程管理。这种服务可以包括,但不限于对个人计算机308的更新和补丁分发服务、故障排除服务和对网络302中每台个人计算机308的固件配置数据清点服务以及用于执行各种管理任务的其它服务。管理数据库307包括各种应用程序的更新、补丁、已知漏洞的列表和网络302中每台个人计算机308的固件配置数据以及由服务306使用的其它信息以生成管理任务。 网络302中的每台个人计算机308都具有安装在其上的管理代理端310 (与206的相同);它被要求执行远程管理任务并提供网络302中个人计算机308和管理服务器301之间的通信。而且,网络302中的每台个人计算机308有其唯一的网络地址。在初始阶段,在网络302不同于管理服务器301的网络的情况下,控制模块303意图在管理服务器301和网络302中所有个人计算机308之间提供直接连接。当网络302中的个人计算机308被选为起到管理代理主机作用的最合适的个人计算机时,指定控制模块303来提供与管理代理主机的直接通信以及借助于管理代理主机的与网络302中所有个人计算机308的通信。而且, 来自该多个服务306的服务数据通过控制模块303传输。管理服务器301是能够提供计算机安全和管理服务的计算机。这些功能可通过公司软件产品来实现,诸如用于Microsoft 交换服务器的Kaspersky 安全产品、用于windows 服务器的Kaspersky 反病毒产品、用于Windows 工作站的Kaspersky 反病毒产品和一些可以通过可为Kaspersky 管理工具(Administration Kit)的控制模块303来管理的一些其它产品。
在初始阶段,管理服务器301尤其是其控制模块303,与网络302中的所有个人计算机308直接通信。当在网络302不同于管理服务器301的网络时的情况下,网络302中具有互联网接入的所有个人计算机308的管理代理端310能够建立到管理服务器301的 TCP连接,尤其是在从控制模块303接收到UDP控制信号后能够建立到控制模块303的TCP 连接。在安装在管理服务器301上的服务306中,存在有任一个人计算机308的清点服务 309 (即,固件配置数据收集服务)。与任何个人计算机308的管理代理端310的交互需要这种服务以远程启动清点任务。在初始阶段,用于网络302中所有个人计算机308的清点任务通过来自该多个已安装的服务306中的服务309来设定。在从来自于该多个已安装的服务306中的服务309接收到任务信息后,控制模块303传输UDP控制信号到网络302中所有个人计算机308的管理代理端310以执行配置信息的收集。在该情况下,网络302不同于管理服务器301的网络,每台个人计算机308的管理代理端310在从控制模块303接收到UDP控制信号后,建立到管理服务器301的TCP连接,且尤其是建立到其控制模块303 的TCP连接。然后,网络302中每台个人计算机308的管理代理端310收集关于其上部署有该管理代理端310的个人计算机308的配置信息。收集到的配置信息可以包括,但是不限于·关于个人计算机308的类型和主要硬件参数的信息,诸如CPU类型、CPU时钟、 RAM存储空间等;·软件配置数据,即安装在个人计算机308上的是什么类型和版本的软件;什么软件自动启动;个人计算机308中的连续操作的软件代理端;·个人计算机308的网络地址;·个人计算机308的连续操作的小时数;以及·启动后个人计算机308的CPU使用数据。上述数据集(即,配置信息)是个范例,它并不限制部署在网络302中其它个人计算机308上的管理代理端310的功能。从网络302中每台个人计算机308收集到的数据有使他们唯一的标识符(identifier)。这种标识符可以例如是每台个人计算机308各自的网络地址。当网络302中每台个人计算机308的管理代理端310收集到数据,每台特定个人计算机308的管理代理端310传输收集到的数据给控制模块303。控制模块303转而传输数据到评级模块304。评级模块304用于从网络302中的该多台个人计算机308中选择最适合作为网络302的管理代理主机的个人计算机308。为此目的,评级模块304比较所获得的数据和来自评级数据库305的信息。评级数据库305包括网络302中每台个人计算机 308的性能评级评估的规则。给定的规则可以基于多个变量,诸如· CPU 类型;· CPU 时钟 视频RAM容量;·视频卡类型;· RAM存储空间;·个人计算机308的连续操作时数;·个人计算机308启动后,个人计算机308上的负载。上述多个变量是范例,而非限制所描述的系统的功能。每个规则确定了每个特定变量的性能评级。需要给定的规则来评估网络302中每台个人计算机308的总体性能评级。图4示出了在控制模块303、评级模块304和评级数据库305之间交互以确定网络302中每台个人计算机308的总体性能评级的示例。在示例中令网络302包括三台个人计算机308。这里,网络302不同于管理服务器301的网络。个人计算机308之一不可互联网访问意味着它不会响应来自管理服务器301的UDP控制信号而且将不能随之建立TCP 连接。这样,在给定的示例中,网络302中的第一个人计算机由于不具有互联网连接,因此不能做管理代理主机。所有三台个人计算机308具有不同的固件配置。例如第一个人计算机308是Asus Eee PC 1005P上网本。它的硬件配置包括诸如Intel Atom 1660MHz 的CPU、2048MB的RAM、具有64MB视频RAM容量和具有特殊需要时访问RAM资源可能性的 Intel GMA3150视频卡之类的元件。这台个人计算机308没有互联网连接。第二个人计算机308的硬件配置包括诸如Intel Core 2 3-530 2930MHz的CPU、4096MB的RAM、具有 1024MB的视频RAM容量的Asus ENGTX^5/2DI/l⑶3的视频卡之类的元件。第三个人计算机308是具有以下硬件配置的笔记本电脑Intel Celeron 双核1200MHz的CPU、2048MB 的RAM、具有512MB的视频RAM容量的nVidia GeForce G 210M。如上所述,在接收到来自控制模块303的UDP控制信号后,个人计算机308中的管理代理端310建立与控制模块 303的TCP连接并收集配置信息。第二和第三个人计算机308具有互联网连接;因此,有可能在网络302中的这些个人计算机308上执行上述行为。收集到的信息可以包括关于以上列出的主要硬件元件的信息。此外,这些信息可以包括关于特定个人计算机308的连续操作时数的信息。每台个人计算机308有不同的连续操作时数,例如,第一个人计算机308连续工作10小时,第二个人计算机308连续工作30小时,以及第三个人计算机308连续工作 20小时。然后,来自网络302中三台个人计算机308的管理代理端310的配置信息经由控制模块303传输到评级模块304。为每台个人计算机308所收集的配置信息有允许确定该数据所属的个人计算机308的标识符。这里这样的标识符是对于每台个人计算机308来说唯一的网络地址。评级模块304将收集到的配置信息与评级数据库305中的评级信息相比较,并为每个变量选择合适的评级规则。在一个示范性实施例中,用于对用来进行总体性能评级评估的评级规则加以选择的主要变量是CPU时钟、RAM、视频RAM容量和连续操作时数。 用于所有变量的评级规则可以基于清晰和模糊逻辑。 图5示出了用于实施算法的示范性模块,所述算法用于为网络302中的每台个人计算机308确定总的性能评级;所述算法基于清晰(即,非模糊)逻辑并用于选择最适合被指定为网络302的管理代理主机的个人计算机308。在步骤501,所有个人计算机308的管理代理端310从所有个人计算机308收集配置信息。然后,在步骤502,来自网络302中所有个人计算机308的管理代理端310的配置信息经由控制模块303传输到评级模块304 ; 后者将它们与评级数据库305中的信息比较。下面各阶段描述基于来自评级数据库305的评级规则的决策逻辑。在步骤503-506,将为每个变量从评级数据库305中选择合适的规则。这样,例如,在步骤503,将为第二个人计算机308和第三个人计算机308选择CPU评级规则。每个CPU评级规则确定CPU的性能评级。第二个人计算机308的CPU,Intel Core2 3-530 ^30MHz,与第三个人计算机308的Intel Celeron双核1200MHz的CPU相比有更高的能力。例如,用于第二个人计算机308的规则可以如下“如果CPU是Intel Core 2 3-530 ^30MHz,那么它的评级是3000”。用于第三个人计算机308的规则可以如下“如果 CPU是Intel CeIeron双核1200MHz,那么它的评级是1000”。同样,在步骤504,将为第二个人计算机308和第三个人计算机308选择RAM评级规则。第二个人计算机308的RAM大小比第三个人计算机308的RAM大小大两倍。这样,如对CPU的描述CPU,将会根据相关的规则确定RAM的性能评级。RAM规则可以确定第二个人计算机308中4096的RAM大小的性能评级为4000,并且确定第三个人计算机308中2048的RAM大小的性能评级为2000。然后, 在步骤505,将为第二和第三个人计算机308选择视频卡规则。第二个人计算机308的视频卡比第三个人计算机308的视频卡能力更高,并且有更大的视频存储容量。视频卡规则可以确定第二个人计算机308中具有1024MB视频RAM容量的Asus ENGTX^5/2DI/1⑶3视频卡的性能评级为1000,以及第三个人计算机308中具有512MB视频RAM容量的nVidia GeForce G 210M视频卡的性能评级为500。而且,在步骤506,在此阶段为第二个人计算机308和第三个人计算机308选择用于连续操作时间的规则。由于第二个人计算机308连续运行达30小时,因此连续操作策略可以确定它的性能评级为3000 ;以及由于第三个人计算机308连续运行达20小时,因此确定它的性能评级为2000。在给定阶段所描述的确定那些和其它规则的行为的数目只是示例;变量的数目及它们相关的规则可以是任意的。在步骤507,在接收到所有基于评级数据库305规则的性能评级数据后,评级模块304总结第二个人计算机308和第三个人计算机308的性能评级。这样,第二个人计算机308的总体性能评级为10100且第三个人计算机308的总体性能评级为5500。最后,在步骤508,评级模块304比较总体性能评级并选择具有最高总体性能评级的个人计算机308。第二个人计算机308比第三个人计算机308有更高的总体性能评级;因此,评级模块304将选择第二个人计算机308作为网络304的本地管理代理主机并在控制模块303中标识其网络地址作为管理代理主机地址。而且,为了执行远程管理任务以及将数据从管理服务器301传输到任一个人计算机308,控制模块303将建立到为管理代理主机的第二个人计算机308的连接。以上示例不限制在此描述的系统的功能。关于网络302中所有个人计算机308的总体性能评级的信息以及根据总体性能评级的每台个人计算机308的序列号的信息存储在评级数据库305中。评级数据库305定期更新并包含当前的信息。关于所有个人计算机308的信息以总体性能评级升序排列。评级模块304经由控制模块303将关于网络302中每台个人计算机308的总体性能评级及其根据总体性能评级的序号的信息传输到每台个人计算机308 的管理代理端310。 图6示出了用于基于模糊逻辑,确定网络302中每台个人计算机308的总体性能评级的算法的示范实现方式,以确定最适合被指定为本地管理代理主机的个人计算机308。 在步骤601,知晓所有网络地址的管理服务器301的控制模块303建立到网络302中所有个人计算机308的管理代理端310的TCP连接。这发生在来自该多个已安装服务306中的清点服务309设定清点任务且控制模块303接收到关于已设定的任务的信息并发送UDP 控制信号给网络302中所有个人计算机308的管理代理端310以执行清点之后。在这种情况下,当网络302不同于管理服务器301的网络时,所有个人计算机308的管理代理端310 在接收到UDP控制信号后,可以建立到管理服务器301的控制模块303的TCP连接。所有个人计算机308的管理代理端310在接收到控制信号并建立到管理服务器301的控制模块 303的连接后收集配置信息。当收集到配置信息时,网络302中每台个人计算机308的管理代理端310将该配置信息发送到控制模块303。控制模块303转而传输收集到的配置信息到评级模块304。配置信息借助于允许区分不同个人计算机308的配置信息的标识符来与网络302中每台个人计算机308相关联,该标识符例如为网络地址。收集到的配置信息代表了多种变量的信息,例如RAM大小。大多收集到的变量包括例如RAM大小为4096MB的清晰信息。然后,在步骤602,发生从输入变量的清晰值到模糊值的转变。这个过程称为模糊化(fuzzification)。在步骤603,比照来自评级数据库305的模糊规则与模糊变量。由于模糊化的结果,在步骤604,将发现规则匹配一个或者另一个模糊变量。给定的规则将描述要解决的任务;在给出的示范中,这将是把一台或者另一台个人计算机308的性能评级作为模糊变量加以确定的任务。为了回到清晰变量,有去模糊化步骤605。为了执行模糊化和去模糊化过程,评级数据库305包括所有具有多个设定定义和确切物理值的重要语言变量。而且,在步骤606,为每台个人计算机308确定每个变量的性能评级和总体性能评级。 最后,在步骤607,选择具有最高总体性能评级的个人计算机308作为网络302的本地管理代理主机。以下是图6中算法使用RAM大小作为变量的示例。在步骤601,个人计算机308 上的管理代理端310收集并将该个人计算机308的RAM大小为4096MB传输到管理服务器 301。这个配置信息经由控制模块303转发给评级模块304。评级数据库305具有多个语言变量及其定义。有个语言变量“RAM大小”;它有三种定义,诸如“低”、“中”、“高”。也有对应于语言变量“RAM大小”的一个或者另一个定义的设定值的范围。它们也位于评级数据库305中。例如,这里“低”意为从0到2GB的RAM大小的范围,“中”对应于从2到5GB 的RAM大小的范围以及“高”对应于5GB及以上的RAM大小的范围。此后,在步骤602,进行从“RAM大小”变量的清晰值4096MB到模糊值“中”的转变。这个阶段称为模糊化。此后, 在阶段603,RAM定义与评级数据库305的规则进行比照。这里,这种规则可以如下“如果 RAM大小是中,那么RAM性能评级为中”。在步骤604,设定为配置信息的每个变量确定性能评级的所有类似策略。这样,在输出时,我们得到模糊值;并且现在,可以转变回“RAM性能评级”的清晰值。在步骤605,发生转变到变量的清晰物理值的逆过程,称为去模糊化。在这一步,设定来自评级数据库305的对应于所产生语言变量的定义的值的范围。例如,语言变量“RAM性能评级”的定义“中”对应于从2000到4000的范围中的值。此后,在步骤606, 基于这些特定范围的值,选择有助于为每台个人计算机308确定总体性能评级的值。这里, 例如,“RAM性能评级”变量的值将是3000。对收集到的配置信息的所有变量执行类似的行为。然后,评级模块304为每个变量总结全部性能评级;并且每台个人计算机308得到其总体性能评级。然后,在步骤607,比较每台个人计算机308的总体评级,并选择具有最高总体性能评级的个人计算机308作为网络302的本地管理代理主机。其网络地址记录在控制模块303中。网络302中所有个人计算机308的总体性能评级信息以及每台个人计算机 308根据它们总体性能评级的序列号信息也存储在评级数据库305中。关于所有个人计算机308的信息按照总体性能评级值的升序排列。在一个示范性实施例中,评级模块304可以经由控制模块303将网络302中每台个人计算机308的总体性能评级值信息以及其根据总体性能评级的序列号信息传输到每台个人计算机308的管理代理端310。也有不需要从清晰类型转换到模糊类型的变量。例如,这种变量可以是安装在任一个人计算机308上的高度资源密集型的软件的名称。这种软件可以是例如 Adobe Hiotoshop 的图形处理器。这个软件为其操作所使用的RAM的大小大于大多数安装在任一其它308上的应用程序。因此,个人计算机308的性能评级可以通过把该变量考虑进去来计算。例如,对于安装在任一个人计算机308上的Adobe Photoshop 来说来自评级数据库305的规则可以如下“如果安装了Adobe Photoshop ,那么RAM性能评级下降是轻微(Minor)的”。此后,语言变量“RAM性能评级下降”的定义“轻微”将对应于 200到400的范围内的值。将从这些特定范围内的值中选择有助于确定RAM性能评级的值。 这里,例如,选择300的值。这样,对于具有4096MB的RAM和安装Adobe Photoshop
13的个人计算机308来说,RAM性能评级值是2700。图:3B根据另一个示范性实施例,示出了管理服务器301和网络302中所有个人计算机308之间的详细交互。这里,网络302是DMZ网络。在此管理代理主机的指定以以下方式进行。当在每台个人计算机308中安装管理代理端310时,告知个人计算机308a的管理代理端310它被用于在控制模块303和其它个人计算机308的管理代理端310之间的通信。这样,在初始阶段,网络302中的个人计算机之一 308a成为网络302中其它个人计算机 308的临时本地管理代理主机。知晓网络302中临时管理代理主机的网络地址的控制模块 303建立到安装在那台临时管理代理主机即个人计算机308a上的管理代理端310的TCP连接。在已安装的服务306中管理服务器301有任一个人计算机308的清点服务309(即,来收集固件配置数据)。与任一个人计算机308的管理代理端310交互需要这种服务以启动清点任务。在初始阶段,借助于服务309,从该多个已安装的服务306中设置用于网络302 中所有个人计算机308的清点任务。在从来自该多个已安装的服务306中的服务309接收到任务被设置的信息后,控制模块303发送UDP信号到临时管理代理主机(网络302中的个人计算机308a)的管理代理端310以执行清点。临时管理代理主机(个人计算机308a) 的管理代理端310转发UDP控制信号以对网络302中其它个人计算机308的管理代理端 310执行清点来远程收集个人计算机308的数据。在接收到由临时管理代理主机(个人计算机308a)的管理代理端310转发的来自控制模块303的UDP控制信号后,每台个人计算机308的管理代理端310建立到临时管理代理主机的管理代理端310的TCP连接。然后, 网络302中每台个人计算机308的管理代理端310收集其所部署在的个人计算机308的配置信息。之后,临时管理代理主机(个人计算机308a)的管理代理端310,除了转发查询以外,还收集临时管理代理主机的数据。当配置信息被网络302中每台个人计算机308的管理代理端310所收集时,由网络302中每台个人计算机308的管理代理端310将其发送到临时管理代理主机(个人计算机308a)的管理代理端310,然后被发送到控制模块303。下一步,基于为每台个人计算机308收集到的配置信息,选择最适合的个人计算机308作为本地管理代理主机。例如,使用例如上文描述的过程,为网络302中每台个人计算机308评估总体性能评级,并选择具有最高总体性能评级的个人计算机308作为网络302的本地管理代理主机。这样,在评估了网络302中所有个人计算机308的总体性能评级之后选择本地管理代理主机。为了在网络302中的所有个人计算机308、管理代理主机和管理服务器301之间提供正确的网络交互,所有个人计算机308有必要知晓它们应该经由管理代理主机与管理服务器301通信。如果网络302是DMZ网络且也许不可能从该DMZ网络向外网段发送查询,则管理服务器301的控制模块303建立到临时管理代理主机(个人计算机308a)的管理代理端310的TCP连接。然后,控制模块303发送UDP控制信号到临时管理代理主机(个人计算机308a)的管理代理端310,该临时管理代理主机(个人计算机308a)的管理代理端 310将其转发给网络302中的每台个人计算机308的管理代理端。响应于该UDP控制信号, 每台个人计算机308的管理代理端310建立到临时管理代理主机(个人计算机308a)的管理代理端310的TCP连接。控制模块303经由临时管理代理主机的管理代理端310将被选作本地管理代理主机的个人计算机308的网络地址数据传输到DMZ网络302中每台个人计算机308的每个管理代理端310。而且,控制模块303经由临时管理代理主机的管理代理端310将给定个人计算机308的总体性能评级值以及它的根据其总体性能评级的序列号发送到每台个人计算机308的管理代理端310。控制模块303从评级模块304接收这些值。该信息有例如网络地址的标识符,该标识符允许传输它的根据其性能评级的序列号以及总体性能评级值到网络302中的每台个人计算机308的管理代理端310。这样,网络302中每台个人计算机308的管理代理端310都被告知了它的根据总体性能评级的序列号和总体性能评级值。控制模块303经由临时管理代理主机(个人计算机308a)的管理代理端310,发送关于作为管理代理主机的个人计算机308的新身份的信息到网络302中被指定为管理代理主机的那台个人计算机308的管理代理端310。在管理服务器301尤其是它的控制模块 303和DMZ网络302中安装有管理代理端310的任一个人计算机308之间更进一步的交互将经由所选的管理代理主机实现。在网络302不同于管理服务器301的网络的情况下,可以应用另一个方法。在该情况下,在接收到UDP控制信号后,网络302中所有可互联网访问的个人计算机308的管理代理端310都能够建立到管理服务器301的控制模块303的TCP连接。在建立到管理服务器 301的控制模块303的连接后,每台个人计算机308的管理代理端310从控制模块303接收将被选作网络302的本地管理代理主机的个人计算机308的网络地址数据。控制模块303 将该给定个人计算机308的新身份信息尤其是它的管理代理主机信息传输给网络302中被选作已建立管理服务器301的连接的管理代理主机的个人计算机308的管理代理端310。 网络302中的不可互联网访问的个人计算机308开始搜索本地管理代理主机。为此,广播信道可以用作在计算机网络中数据传输的方法,其中该计算机网络的所有成员均接收数据流。指定为管理代理主机的个人计算机308的管理代理端310监听到该查询,并对发送关于其作为管理代理主机的身份的查询的那台个人计算机308的管理代理端310进行响应。在一个示范性实施例中,网络302中每台个人计算机308的管理代理端310能够收集界indows 操作系统性能指标信息,且通过使用该信息,可将最适合管理代理主机角色的个人计算机308选作本地管理代理主机。因为这个方法需要较少的信息来进行分析, 因此可以加快管理代理主机的选择速度。Windows 性能指标衡量计算机的固件功能,并以称为基本性能指标的数字形式来表示结果。高数值的基本性能指标意味着个人计算机 308比具有低数值的基本性能指标值的个人计算机308操作更好和更快,特别是在执行复杂和资源密集型任务的时候。这个指标基于五个主要组件组成,诸如CPU、RAM、图形、游戏图形和主硬盘驱动;每个组件被分别评价。网络302中每台个人计算机308的管理代理端 310在接收到UDP控制信号后,可以启动用于整体评价1Windows 性能的应用程序,然后它们可以收集网络302中所有个人计算机308的Windows 性能值。而且,以同样的方式将信息发送到将这一信息与评价数据库305中的规则进行比照的评级模块304。然后,评估每台个人计算机308的总体性能评级。另一个可能的实施方式当评级模块304从网络302 中的多台个人计算机308选择管理代理主机时,是基于1Windows 的基本性能指标而非来自评级数据库305的规则。评级模块304比较从网络302中所有个人计算机308收集的基本性能指标,选择最高的一个并且向控制模块303发送关于网络302中具有最高指标的个人计算机308的信息以选择那台计算机作为管理代理主机。而且,评级模块304经由控制模块303将每台个人计算机308的1Windows 基本性能指标以及它们的根据1Windows 基本性能指标的序列号信息发送到每台个人计算机308的管理代理端310。
在其它实施例中,评估个人计算机308的总体性能评级的服务可以从管理服务器 301终端上所安装的服务306设置。在这个情况下,如果网络302不同于管理服务器301的网络,在已安装的服务306中负责这些任务的服务为每台个人计算机308设定性能评估任务。控制模块303在接收到来自服务的关于任务设置的信息后,发送UDP控制信号到网络 302中所有个人计算机308的管理代理端310以进行性能评估。而且,任一个人计算机308 的管理代理端310和控制模块303之间可以建立TCP连接。在建立连接后,负责执行类似任务的服务经由控制模块303传输网络302中所有个人计算机308的管理代理端310用于性能评估所必须的数据。然后安装在网络302中每台个人计算机308上的管理代理端310 评估网络302中每台个人计算机308的性能并准备整体性能评级。然后传输整体性能评级到网络302中每台个人计算机308的管理代理端310以及传输到控制模块303,并且最后, 传输到在该多个已安装的服务306中用于总体性能评级评估的服务,该服务转而将信息转发到管理数据库307。而且,这些值经由控制模块303转发到评级模块304,在那里它们将被比较且具有最高总体性能评级的个人计算机308将被选作管理代理主机。而且,其网络地址信息呈现给控制模块303。网络302中所有个人计算机308的整体性能评级数据存储在评级数据库305中。关于所有个人计算机308的信息以它们总体性能评级的升序排列。 评级模块304经由控制模块303向网络302中所有个人计算机308发送它们的整体性能评级和它们的根据整体性能评级的序列号。图3C根据另一个示范性实施例,示出了在管理服务器301、网络302中所有个人计算机308和管理代理主机311(与104和204相同)之间的详细交互。在指定了网络302中的管理代理主机311后,来自管理服务器301的控制模块303的所有信息经由管理代理主机311的管理代理端310a(与206a相同)传输到任一个人计算机308的管理代理端310。 在相反的方向,信息经由管理代理主机311的管理代理端310a传输。如上所述,网络302中每台个人计算机308的管理代理端310收集配置信息,管理代理主机311是基于该配置信息被选择的;然后每台特定的个人计算机308的管理代理端310将收集到的配置信息传输到控制模块303。控制模块303转而将接收到的配置信息传输到评级模块304以选择最适合作为管理代理主机311的个人计算机308。在已安装的服务306中的服务309借助于管理代理端310启动数据收集。在系统操作中,控制模块303不仅向评级模块304传输数据,也向已安装的服务306中的服务309传输数据,该服务309发送收集到的配置信息到管理数据库307。然后,收集到的配置信息可以由已安装的服务306中的其他服务所使用。而且, 管理代理主机311用于信息的转发(即,进一步传输)。例如,收集到的配置信息可以用于更新安装在网络302中任一个人计算机308上的软件。已安装的服务306中的负责更新的服务可以在外部资源中搜索关于新软件版本的信息并将获得的信息与来自管理数据库307 的关于网络302中一台或者另一台个人计算机308上安装的软件版本的信息相比较。如果网络302中任一个人计算机308的某一软件版本是旧的,那么通过已安装的服务306中的应负责的服务来下载新的软件版本并保存在管理数据库307中。而且,通过已安装的服务 306中的那个服务,将为网络302中一台或者另一台个人计算机308设定软件更新任务。在从已安装的服务306中的应负责的服务接收到任务被设定的信息后,控制模块303将更新某一软件的UDP控制信号以及应该将信号转发给其管理代理端310的个人计算机308的网络地址的标示(indication)发送到管理代理主机311的管理代理端310a。而且,管理代理
16主机311的管理代理端310a和控制模块303之间建立TCP连接。在接收到控制信号后,那台个人计算机308的管理代理端310建立到管理代理主机311的管理代理端310a的TCP 连接。管理代理端310a经由控制模块303将个人计算机308和管理代理主机311之间的连接数据传输到服务306中的软件更新服务。然后更新服务经由控制模块303将所需的更新从管理数据库307转发到管理代理主机311的管理代理端310a。之后,所需更新被转发到网络302中需要软件更新的那台个人计算机308的管理代理端310。那台个人计算机308的管理代理端310安装所需软件。而且,已安装的服务 306中的更新服务更新管理数据库307的关于个人计算机308的软件版本的信息。收集并保存在管理数据库307中的数据的另一个类似的应用可以用于故障排除。在该情况下,已安装的服务306中的故障排除服务将来自管理数据库307的每台个人计算机308和管理代理主机311的信息与已知漏洞的信息相比较。已知漏洞的信息可以存储在管理数据库307 中并定期更新。如果网络302中的任一个人计算机308安装了有漏洞的软件而且该漏洞是已知的,那么,已安装的服务306中的故障排除服务进行移除漏洞所必须的行为。修补漏洞可以是这样的操作。已安装的服务306中的排除故障服务可到外部资源获取补丁信息。然后,已安装的服务306中应负责的服务从提供详细信息的资源中下载所需补丁到管理数据库307。此时,下载的补丁与也存储在管理数据库307中的已知漏洞信息相关联。然后,借助于来自已安装的服务306中的这个服务,设定补丁安装任务以移除网络302中任一个人计算机308中的漏洞。在从已安装的服务306中的故障排除服务接收到关于指定补丁安装任务的信息后,控制模块303发送用于标示个人计算机308网络地址的补丁安装的UDP控制信号到管理代理主机311的管理代理端310a。而且,管理代理主机311 的管理代理端310a和控制模块303之间建立TCP连接。在接收到控制信号后,那台个人计算机308的管理代理端310建立与管理代理主机311的管理代理端310a的TCP连接。在管理代理主机311的管理代理端310a与个人计算机308的管理代理端310之间建立关于补丁安装的TCP连接后,管理代理主机311的管理代理端310a经由控制模块303传输用以建立到已安装的服务306中的故障排除服务的连接的信息。而且,故障排除服务306经由控制模块303转发补丁到管理代理主机311的管理代理端310a,并从那里转发到网络302 中包含某一漏洞的软件所在的个人计算机308的管理代理端310。个人计算机308的管理代理端310安装补丁并移除已知漏洞。而且,已安装的服务306中的故障排除服务更新在管理数据库307中的为安装在给定个人计算机308上的软件版本来安装补丁的信息。而且,在漏洞搜索的过程中,已安装的服务306中的故障排除服务在对任一个人计算机308上已安装的软件信息与已知漏洞信息进行核对的同时,对管理数据库307进行补丁检查。在从任何外部资源下载补丁以后,那个补丁与管理数据库307中存储的已知漏洞的信息相关联。如果管理数据库307包含某一漏洞的信息,但是没有移除它的补丁,那么已安装的服务306中的故障排除服务将使用外部资源来搜索补丁。毋庸置疑的是网络302中管理代理主机311的管理代理端310a并不总是能够响应来自管理服务器301的控制信号并将它们转发到其它个人计算机308的管理代理端310。 这可能由于任何原因,例如,管理代理主机311可能关闭、重启、与互联网断开连接等等。在这种情况下,系统具有选择网络302中其它个人计算机308作为管理代理主机311的机制。在一个示范性实施例中,为了检查管理代理主机311的活动状态,管理服务器301的控制模块303间隔性地发送查询到管理代理主机311的管理代理端310a。如果对来自控制模块 303的查询的响应来自管理代理主机311的管理代理端310a,则这表明管理代理主机311 是活动的。如果没有响应,这意味着管理代理主机311是非活动的并且需要选择新的管理代理主机311。如之前指出的,在DMZ网络302的情况下,所有个人计算机308和管理代理主机 311不能连接到不同于DMZ网络的其它网段。如果没有接收到来自管理代理主机311的管理代理端310a的对控制模块303所发送的查询的响应,那么从网络302中的其它个人计算机308指定新的管理代理主机311。控制模块303发送查询到评级模块304以选择按值具有第二性能评级的个人计算机308。在评级数据库305里每台个人计算机308的性能评级值中,评级模块304按值选择对应于第二整体性能评级的值并传输那台个人计算机308的信息到控制模块303。这个信息可以是标识符,例如那台个人计算机308的网络地址。然后,那台个人计算机308的网络地址出现在控制模块303中。管理服务器301的控制模块 303建立到按值具有第二整体性能评级的个人计算机308的管理代理端310的TCP连接并告知它关于其作为管理代理主机311的新身份。这里,个人计算机308的管理代理端310 可以建立到控制模块303的TCP连接。DMZ网络302中其它个人计算机308的管理代理端 310在试图连接到原先的管理代理主机311的管理代理端310a时,发现无法建立连接。其它个人计算机308的管理代理端310开始在网络302范围内搜索可以选作新的管理代理主机311的个人计算机308。广播信道可用于此目的。新的管理代理主机311的管理代理端 310a侦听到经由广播信道发送的查询并通过这个信道告知网络302中其它个人计算机308 的所有管理代理端310关于它的新身份。而且,所有远程管理任务和信息都通过新的管理代理主机311传输。当之前是管理代理主机311的个人计算机308的管理代理端310开始响应由性能值第二的管理代理主机311的管理代理端310a转发的来自管理服务器301的查询时,那么将管理代理主机311的功能重新指定给它。在该情况下,如果网络302不同于管理服务器301的网络,除了上述用于DMZ网络的方案,也可以使用其它方案。网络302中每台可互联网访问的个人计算机308能够连接到管理服务器301以及尤其是它的控制模块303。网络302中每台个人计算机308都知道它的根据其性能评级值的序列号。如果任一个人计算机308的任一管理代理端310无法建立与管理代理主机311的管理代理端310a的连接,那么它传输这个信息到网络302中的其它个人计算机308,例如经由广播信道。按值具有第二性能评级的个人计算机308的管理代理端310在接收到这一关于无法与管理代理主机311的管理代理端310a连接的信息后, 连接到管理服务器301的控制模块303。在此情况下,按值具有第二性能评级的个人计算机308的管理代理端310向管理服务器301提出使用这台个人计算机308作为管理代理主机311。那台个人计算机308的网络地址出现在控制模块303中。而且,新的管理代理主机311的管理代理端310a告知网络302中所有其它个人计算机308的管理代理端310关于其新身份,例如经由广播信道。所有远程管理任务和信息此时经由新的管理代理主机311 来传输。如果那个管理代理主机311的管理代理端310a停止响应查询,那么以上述方式, 网络302中按值具有第三性能评级的个人计算机308的管理代理端310成为新的管理代理主机。如果以前是管理代理主机311的那台个人计算机308的管理代理端310开始响应通过按值具有第二性能评级的管理代理主机311的管理代理端310a转发的来自管理服务器 301的控制模块303的控制信号,那么它收回作为网络302的管理代理主机311的身份。网络302可以借助于增加新的个人计算机308来扩展。这种情况下,可能存在添加到网络302的新的个人计算机308具有比现有的管理代理主机311更高的固件配置的情况。为此,远程管理系统具有用于检测网络302中这种个人计算机308的机制。为了在网络 302中搜索没有安装管理代理端310的新的个人计算机308,控制模块303被设定为以一定间隔向管理代理主机311的管理代理端310a传输搜索查询,并进一步经由广播信道转发。 这里,根据一个示范性实施例,可以使用ARP欺骗(ARP-spoofing)以检测网络302中的新的个人计算机308。在检测到新的个人计算机308后,已安装服务306中的安装服务设定任务以在那台个人计算机308上安装管理代理端310,以及告知控制模块303关于此任务的情况。这种情况下,当网络302不同于管理服务器301的网络,控制模块303建立到那台个人计算机308的直接连接并在那里安装管理代理端310,附带有作为网络302中管理代理主机311的个人计算机308的网络地址的标示。之后,经由管理代理主机311的管理代理端 310a,用来执行清点的UDP控制信号被转发到那台个人计算机308的管理代理端310。在接收到控制信号后,新的个人计算机308的管理代理端310建立到管理代理主机311的管理代理端310a的TCP连接,收集配置信息并经由管理代理主机311的管理代理端310a将收集到的信息发送到控制模块303。而且,收集到的配置信息被转发到评级模块304。然后, 使用上述方法之一,评估那台个人计算机308的整体性能评级并根据它的整体性能评级确定其序列号。将关于那台个人计算机308的整体性能评级以及它的序列号的信息添加到评级数据库305 ;由此,网络302中所有个人计算机308的序列号信息得到更新。如果那台个人计算机308的整体性能评级比当前管理代理主机311的高,那么指定该新的个人计算机 308作为新的管理代理主机311,并通知网络302中其它个人计算机308关于新的管理代理主机311的情况。图7根据一个示范性实施例,示出了用于远程管理联网计算机的方法的操作算法。在步骤701,已安装的服务306中的清点服务309为网络302中所有个人计算机308 生成清点任务。在此情况下,当网络302不同于管理服务器301的网络时,控制模块303在接收到来自服务309的任务设定信息后,发送UDP控制信号到网络302中所有个人计算机 308的管理代理端310以执行清点。在此情况下,当网络302不同于管理服务器301的网络时,每台个人计算机308的管理代理端310在从控制模块303接收到UDP控制信号后,建立到管理服务器301的控制模块303的TCP连接。在步骤702,网络302中每台个人计算机 308的管理代理端310收集其所部署于的个人计算机308的配置信息。一旦网络302中每台个人计算机308的管理代理端310已经收集到配置数据,每台特定个人计算机308的管理代理端310在步骤703传输收集到的数据到控制模块303。控制模块转而将该收集到的数据传输到评级模块304。初始阶段时,在DMZ网络的情况下,网络302中任一个人计算机 308成为用于网络302中其它个人计算机308的临时管理代理主机。知晓了网络302中临时管理代理主机的网络地址,控制模块303建立到安装在临时管理代理主机上的管理代理端310的TCP连接。借助于已安装的服务306中的服务309,为网络302中所有个人计算机308设定新的清点任务。在接收到来自已安装的服务306中的服务309的任务信息后, 控制模块303传输UDP控制信号到网络302中临时管理代理主机的管理代理端310以执行清点。临时管理代理主机的管理代理端310将用于清点的UDP控制信号转发到网络302中其它个人计算机308的管理代理端310以远程收集个人计算机308数据。在接收到借助于临时管理代理主机的管理代理端310转发的来自控制模块303的UDP控制信号后,每台个人计算机308的管理代理端310建立到临时管理代理主机的管理代理端310的TCP连接。 然后,网络302中每台个人计算机308的管理代理端310收集其所部署在的个人计算机308 的配置信息。而且,临时管理代理主机的管理代理端310除了转发查询,还为网络302收集关于临时管理代理主机的信息。对于网络302中每台个人计算机308的管理代理端310所收集的配置信息,网络302中每台个人计算机308的管理代理端310传输该数据到临时管理代理主机的管理代理端310并随后传输到控制模块303。在步骤704,评级模块304为每台个人计算机308计算总体性能评级。尤其是,评级模块304将收集到的配置数据与评级数据库305信息相比较,并为每个变量选择相关规则。评级数据库305包括用于对网络302 中每台个人计算机308进行性能评级评估的规则。对于所有变量的规则可能基于清晰或者模糊逻辑。在接收到基于来自评级数据库305的规则的所有评级数据后,评级模块304为每台个人计算机308总结评级,获取每台个人计算机308的整体性能评级。在阶段705,评级模块304比较性能评级并选择具有最高整体性能评级的个人计算机308以指定它作为管理代理主机311。在网络302不同于管理服务器301的网络的情况下,控制模块303将被指定为管理代理主机311的个人计算机308的网络地址信息传输到网络302中每台个人计算机308的管理代理端310。在步骤706,控制模块303向每台个人计算机308的管理代理端310发送整体性能评级值和该台个人计算机308基于其整体性能评级的序列号。控制模块303从评级模块304得到那些值。此信息具有诸如网络地址的标识符,该标识符允许告知网络302中每台个人计算机308的管理代理端310关于它的基于其整体性能评级的序列号。这样,网络302中每台个人计算机308的管理代理端310知晓它的基于其整体性能评级的序列号和它的整体性能评级值。控制模块303向网络302中那台被指定为管理代理主机311的个人计算机308的管理代理端310a传输该台个人计算机308作为管理代理主机 311的新身份的信息。而且,控制模块303将连接到管理代理主机311的管理代理端310a 以执行任何远程管理任务或者以传输来自管理服务器301的信息到任一个人计算机308, 或者用于反向通信。在DMZ网络302的情况下,则在指定任一具有最高整体性能评级的个人计算机308作为管理代理主机311的阶段,经由临时管理代理主机来实现管理服务器301 的控制模块303和网络302中每台个人计算机308的管理代理端310之间的所有交互。接下来,在步骤707,已安装的服务306中的某一服务为网络302中的任一个人计算机308设定远程管理任务。控制模块303在从已安装的服务306中的服务接收到任务设定信息后, 传输执行该任务的UDP控制信号到管理代理主机311的管理代理端310a,指示该信号应该被转发给的管理代理端310所在的那台个人计算机308的网络地址。而且,管理代理主机 311的管理代理端310a和控制模块303之间建立TCP连接。在步骤708,在接收到控制信号后,任一个人计算机308的管理代理端310建立到管理代理主机311的管理代理端310a 的TCP连接。管理代理端310a经由控制模块303将在个人计算机308和管理代理主机311 之间建立连接的信息传输到设定该管理任务的服务。 如果任务包括附加数据的传输,例如用于从已安装的服务306中的服务来远程安装到任一个人计算机308的补丁,那么这种补丁由某一服务从管理数据库307经由控制模块303发送到管理代理主机311的管理代理端310a。之后,补丁被转发到网络302中需要安装补丁的那台个人计算机308的管理代理端310。那台个人计算机308的管理代理端310 安装给定的补丁并经由管理代理主机311的管理代理端310a告知关于任务完成的情况。 如果在个人计算机308中任务不包含任何来自服务的附加数据传输,那么任一个人计算机 308的管理代理端310在建立到管理代理主机311的管理代理端310a后转发关于任务完成的信息。在一个示范性实施例中,在网络302中可以有若干个本地管理代理主机311。例如,大型网络302可以包括大量的个人计算机308。在那种情况下,安装有管理代理端310a 的单个管理代理主机311无法有效地传输和接收从管理服务器301的控制模块303到网络 302中其它个人计算机308的管理代理端310的所有控制信号和信息。这种携带有大量信息的任务可能会大幅影响互联网中管理代理主机311的性能和操作速度。图8示出了管理服务器401(与102、203和301相同)和大型网络402(与101、 201和302相同)内的多个管理代理主机403a、403b、403c (与104、204和311相同)之间的交互。如图所示,网络402分为三个子网A、B和C。管理代理主机403a从管理服务器转发第一子网A的所有个人计算机40 的所有远程管理任务和查询。在第二和第三子网B 和C以同样的方式实施交互。在最简单情况下,通过选择个人计算机40 的网络地址属于第一子网、个人计算机404b属于第二子网以及个人计算机4(Mc属于第三子网,管理员可以根据计算机数量将网络302划分为子网。从多台个人计算机40如,40413,40如(与103、205 和308相同)中为每个相对应的子网选择具有最高性能评级的本地管理代理主机。然后, 管理代理主机403a在第一子网中从管理服务器401向个人计算机40 转发控制信号和远程管理任务的信息。为第二和第三子网运行同样的过程。例如,除了在第一网段个人计算机40 、管理代理主机403a和管理服务器401之间的交互以外,还存在第一 40 和第二 404b子网的个人计算机之间的交互。例如,第一子网的个人计算机40 具有“共享文档” 文件夹并且第二子网的个人计算机404b从那个文件夹下载文档。在此情况下,在个人计算机40 和个人计算机404b之间借助于管理代理主机403a和管理代理主机40 发生交互。 子网选择可以基于网络地址和子网掩码。图9描绘了适用于实施远程管理服务器301和个人计算机308的计算机系统5的示范性实施例,例如网络服务器。如图所示,计算机系统5可以包括通过系统总线10连接的一个或者多个处理器15、存储器20、一个或者多个硬盘驱动器30、光盘驱动其35、串行端口 40、图形卡45、声卡50和网卡55。系统总线10可以是几种总线结构类型中的任意一种, 包括使用各种已知总线架构中任何类型的存储器总线或者存储器控制器、外围总线以及本地总线。处理器15可以包括一个或多个Intel Core 2 Quad 2. 33GHz处理器或者其它类型的微处理器。系统存储器20可包括只读存储器(ROM) 21和随机访问存储器(RAM) 23。存储器 20可以实现为DRAM (动态RAM)、EPROM、EEPR0M、闪存或者其它类型的存储器架构。ROM 21 存储有基本输入/输出系统(BIOS) 22,该BIOS 22包含例如启动期间有助于在计算机系统5的组件之间传输信息的基本例程。RAM 23存储有操作系统M (os),例如1Windows XPProfessional或者其他类型操作系统,所述操作系统M负责计算机系统5中进程的管理和协调以及硬件资源的分配与共享。系统存储器20还存储应用程序和程序25,例如服务306。系统存储器20还存储由程序25所使用的各种运行时(runtime)数据沈。
计算机系统5可以进一步包括例如SATA磁性硬盘驱动器(HDD)的硬盘驱动器30 和用于读或写诸如CD-ROM、DVD-ROM或其它光学介质的可移动光盘的光盘驱动器35。驱动器30和35以及与其相关联的计算机可读介质提供对计算机可读指令、数据结构、应用程序和实现本发明公开的算法和方法的程序模块/子例程的非易失性存储。尽管该示范性计算机系统5使用了磁盘和光盘,但本领域的技术人员应当理解,能够存储计算机系统5可访问的数据的其他类型计算机可读介质也可用于该计算机系统的可替代实施例中,例如,盒式磁带、闪存卡、数字视频盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM)和其它类型的存储器。计算机系统5进一步包括多个串行端口 40,例如通用串行总线(USB),用于连接数据输入设备75,例如键盘、鼠标、触摸板及其它。串行端口 40还可以用于连接数据输出设备80,诸如打印机、扫描仪及其它,以及用于连接其它外围设备85,例如外部数据存储设备等等。计算机系统5还可以包括图形卡45,例如nVidia GeForce GT 240M或者其它视频卡,用于与监视器60或者其它视频再现设备连接。计算机系统5还可以包括用于通过内部或者外部扬声器65再现声音的声卡50。此外,计算机系统5可以包括网卡55,例如以太网、WiFi、GSM、蓝牙或者其它有线、无线、或者蜂窝网络接口,用于将计算机系统5连接到例如因特网的网络70。在各种实施例中,本文描述的算法和方法可以实现于硬件、软件、固件或者其任意组合中。如果在软件中实现,这些功能可以作为一个或者多个指令或者代码在非暂时性计算机可读介质上存储。计算机可读介质既包括计算机存储介质也包括有利于从一个地方向另一个地方传输计算机程序的通信介质。存储介质可以是能够被计算机访问的任何可用的介质。作为示例而非限制,这种计算机可读介质可包括RAM、ROM、EPROM、CD-ROM或其它类型的光盘存储器、磁盘存储器或其它磁性存储设备、或者任何能够用于以指令或者数据结构的形式承载或者存储所需的程序代码并且可被计算机访问的其它介质。而且,任何连接都可以被称为计算机可读介质。例如,如果利用同轴电缆、光缆、双绞线、数字用户线(DSL) 或者诸如红外、射频和微波这类无线技术从网站、服务器或者其它远程源来传输软件,那么介质的定义包括该同轴电缆、光缆、双绞线、数字用户线(DSL)、或者诸如红外、射频和微波这类无线技术。为了清楚起见,在此没未显示和描述实现例的所有常规特征。应该理解的是,在任何这种实际的实现方式的开发中,为了达到开发者的特定目标,必须做出大量特定的实现方式的决定,而且,这些特定目标会因实现方式的不同和开发者的不同而变化。应该理解的是,这样的开发工作可能是复杂且费时的,但不论如何,对于受益于本发明的一般技术人员而言,都将是常规的工程任务。而且,可以理解的是,这里使用的措辞和术语用于描述的目的而非限制,以使本说明书的术语或者措辞可由本领域技术人员在本文提出的教导和指导下结合相关领域技术人员的知识做出解释。而且,除非像这样明确地予以阐述,否则说明书中或者权利要求中的任何术语都并非意图表示不常见的或者特殊的意思。在此公开的各种实施例包括本文通过说明方式提到的已知组件的现在和将来已知的等同物。而且,尽管已经示出和描述了实施例和应用程序,但对受益于本文公开的内容的本领域技术人员来说显而易见的是,在不脱离本文公开的发明构思的情况下,比上述提及到的更多的修改例都是可能的。
权利要求
1.一种用于远程管理计算机网络的系统,所述系统具有处理器和存储器,所述系统包括加载到所述存储器中并可由所述处理器执行的以下软件模块包含多个计算机性能评级规则的评级规则数据库; 可操作地耦合到所述评级规则数据库的评级模块,配置为从部署于所述网络中的所述计算机上的管理代理端接收其上部署有所述代理端的所述计算机的配置信息;基于所述收集到的配置信息,使用来自所述评级规则数据库的评级规则计算所述计算机的性能评级;以及为所述计算机网络选择具有最高性能评级的计算机作为远程管理服务器的本地管理代理主机;多个服务模块,所述服务模块配置为基于所述收集到的配置信息为所述计算机生成多个不同的管理任务;以及可操作地耦合到所述服务模块的控制模块,配置为传输控制信号到所述本地管理代理主机以由部署在所述网络中的所述计算机上的管理代理端执行一个或者多个管理任务;通过所述本地管理代理主机,建立与至少一个管理代理端的连接以在其上部署有所述代理端的计算机上执行管理任务。
2.如权利要求1所述的系统,其中在为所述计算机网络选择具有所述最高性能评级的计算机作为本地管理代理主机的基础上,所述控制模块进一步配置为通知所述本地管理代理主机的所述管理代理端其被选作所述本地管理代理主机; 通过所述本地管理代理主机的所述管理代理端,通知部署于所述计算机上的所述管理代理端其上部署有所述代理端的所述计算机的所述性能评级。
3.如权利要求1所述的系统,其中所述控制模块进一步配置为使用用户数据报协议UDP传输所述控制信号到所述本地管理代理主机的所述管理代理端;以及通过所述本地管理代理主机的所述管理代理端,使用传输控制协议TCP建立与至少一个管理代理端的所述连接。
4.如权利要求1所述的系统,其中所述管理任务包括 更新一个或者多个计算机上的反病毒数据库和软件模块; 管理一个或者多个计算机上的策略和组任务;在一个或者多个计算机上安装应用程序和补丁; 搜索一个或者多个计算机的漏洞;以及执行一个或者多个计算机的软件和硬件清点。
5.如权利要求1所述的系统,其中所述评级规则包括基于所述收集到的配置信息的用于计算计算机的性能评级的模糊逻辑规则。
6.如权利要求1所述的系统,其中由所述评级模块所使用的用于计算所述网络中所述计算机的性能评级的所述收集到的配置信息包括每台计算机的软件和硬件配置; 每台计算机的网络地址;以及每台计算机的连续操作时间。
7.如权利要求1所述的系统,其中所述计算机网络是被网络防火墙与所述系统隔离的隔离区DMZ网络或者封闭网络之一。
8.一种用于远程管理计算机网络的方法,包括通过远程管理服务器从部署在所述网络中的所述计算机上的管理代理端接收所述计算机的配置信息;基于所述收集到的配置信息和多个评级规则计算所述计算机的性能评级;为所述计算机网络选择具有最高性能评级的计算机作为所述远程管理服务器的本地管理代理主机;至少部分地基于所述收集到的配置信息为所述计算机生成多个不同的管理任务; 由部署在所述网络中的所述计算机上的管理代理端传输控制信号到所述本地管理代理主机以执行一个或者多个管理任务;以及通过所述本地管理代理主机,建立与至少一个管理代理端的连接以在所述网络中的所述计算机上执行管理任务。
9.如权利要求8所述的方法,其中为所述计算机网络选择具有最高性能评级的计算机作为本地管理代理主机进一步包括通知所述本地管理代理主机的所述管理代理端其被选作所述本地管理代理主机; 通过所述本地管理代理主机的所述管理代理端,通知所述计算机上的所述管理代理端其上部署有所述代理端的所述计算机的所述性能评级。
10.如权利要求8所述的方法,进一步包括使用用户数据报协议UDP传输所述控制信号到所述本地管理代理主机的所述管理代理端;以及通过所述本地管理代理主机的所述管理代理端,使用传输控制协议TCP建立与至少一个管理代理端的所述连接。
11.如权利要求8所述的方法,其中所述管理任务包括 更新一个或者多个计算机上的反病毒数据库和软件模块; 管理一个或者多个计算机上的策略和组任务;在一个或者多个计算机上安装应用程序和补丁; 搜索一个或者多个计算机的漏洞;以及执行一个或者多个计算机的软件和硬件清点。
12.如权利要求8所述的方法,其中所述评级规则包括基于所述收集到的配置信息的用于计算计算机的性能评级的模糊逻辑规则。
13.如权利要求8所述的方法,其中用于计算所述网络中所述计算机的性能评级的所述收集到的配置信息包括每台计算机的软件和硬件配置; 每台计算机的网络地址;以及每台计算机的连续操作时间。
14.如权利要求8所述的方法,其中所述计算机网络是被网络防火墙与所述远程管理服务器隔离的隔离区DMZ网络或者封闭网络之一。
15.—种内嵌于非暂时性计算机可读存储介质中的计算机程序产品,所述计算机可读存储介质包括用于远程管理计算机网络的计算机可执行指令,所述介质包括指令用于通过远程管理服务器从部署在所述网络中的所述计算机上的管理代理端接收所述计算机的配置信息;基于所述收集到的配置信息和多个评级规则计算所述计算机的性能评级;为所述计算机网络选择具有最高性能评级的计算机作为所述远程管理服务器的本地管理代理主机;至少部分地基于所述收集到的配置信息为所述计算机生成多个不同的管理任务; 由部署在所述网络中的所述计算机上的管理代理端传输控制信号到所述本地管理代理主机以执行一个或者多个管理任务;以及通过所述本地管理代理主机,建立与至少一个管理代理端的连接以在所述网络中的所述计算机上执行管理任务。
16.如权利要求15所述的介质,其中用于为所述计算机网络选择具有最高性能评级的计算机作为本地管理代理主机的指令进一步包括指令用于通知所述本地管理代理主机的所述管理代理端其被选作所述本地管理代理主机; 通过所述本地管理代理主机的所述管理代理端,通知所述计算机上的所述管理代理端其上部署有所述代理端的所述计算机的所述性能评级。
17.如权利要求15所述的介质,进一步包括指令用于使用用户数据报协议UDP传输所述控制信号到所述本地管理代理主机的所述管理代理端;以及通过所述本地管理代理主机的所述管理代理端,使用传输控制协议TCP建立与至少一个管理代理端的所述连接。
18.如权利要求15所述的介质,其中所述管理任务包括 更新一个或者多个计算机上的反病毒数据库和软件模块; 管理一个或者多个计算机上的策略和组任务;在一个或者多个计算机上安装应用程序和补丁; 搜索一个或者多个计算机的漏洞;以及执行一个或者多个计算机的软件和硬件清点。
19.如权利要求15所述的介质,其中所述评级规则包括基于所述收集到的配置信息的用于计算计算机的性能评级的模糊逻辑规则。
20.如权利要求15所述的介质,其中用于计算所述网络中计算机的性能评级的所述收集到的配置信息包括每台计算机的软件和硬件配置; 每台计算机的网络地址;以及每台计算机的连续操作时间。
全文摘要
本发明公开了用于远程管理计算机网络的系统、方法和计算机程序产品。该系统包括用于远程管理计算机网络的管理服务器。该服务器在网络中的计算机上部署管理代理端以执行各种管理任务。而且,该服务器为网络选择具有最高性能评级的计算机作为本地管理代理主机。然后,服务器传输控制信号到本地管理代理主机,用于由部署在网络中的计算机上的管理代理端执行一个或者多个管理任务。然后服务器通过本地管理代理主机建立到管理代理端的连接,用于执行计算机的管理任务。
文档编号H04L12/24GK102571937SQ20111044093
公开日2012年7月11日 申请日期2011年12月26日 优先权日2010年12月30日
发明者安德烈·A·库拉加, 谢尔盖·A·瓦西里耶夫, 达米尔·R·希亚费特迪诺夫 申请人:卡巴斯基实验室封闭式股份公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1