CN102004674B - 用于基于策略的适应性程序配置的系统及方法 - Google Patents

用于基于策略的适应性程序配置的系统及方法 Download PDF

Info

Publication number
CN102004674B
CN102004674B CN 201010590652 CN201010590652A CN102004674B CN 102004674 B CN102004674 B CN 102004674B CN 201010590652 CN201010590652 CN 201010590652 CN 201010590652 A CN201010590652 A CN 201010590652A CN 102004674 B CN102004674 B CN 102004674B
Authority
CN
China
Prior art keywords
computer system
performance
resource utilization
strategy
described computer
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.)
Expired - Fee Related
Application number
CN 201010590652
Other languages
English (en)
Other versions
CN102004674A (zh
Inventor
乍特瑟·V·奥列格
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.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
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 Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of CN102004674A publication Critical patent/CN102004674A/zh
Application granted granted Critical
Publication of CN102004674B publication Critical patent/CN102004674B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本发明披露了用于基于策略的适应性程序配置的系统、方法和计算机程序产品。示范性方法包括:从计算机系统收集系统组件的配置和性能信息,基于所收集的信息评定计算机系统的性能,及基于计算机系统的性能评定值对其进行分类。该方法进一步包括:基于系统分类为程序选择操作策略。每个策略为每个类别的计算机系统规定不同程序设置以及不同的由所述程序占用的系统资源利用率的极限值。该方法还包括监视该程序在计算机系统上执行时所占用的系统资源利用率,以确定系统资源利用率是否超过所选操作策略中所规定的极限值。如果系统资源利用率超过所规定的极限值,则该方法选择规定了不同程序设置和不同系统资源利用率极限值的另一策略。

Description

用于基于策略的适应性程序配置的系统及方法
技术领域
本发明总体上涉及计算机科学领域,且具体而言,涉及用于基于策略的适应性程序配置的系统、方法和计算机程序产品,所述基于策略的适应性程序配置用于提高计算机性能和资源利用率。
背景技术
现代的计算机程序和应用程序一般是资源密集型的。许多应用程序更是如此,这是因为它们运行于计算机系统上,并且在复杂的系统扫描和其他操作过程中广泛地与该计算机系统的许多硬件和软件组件交互。尽管开发者不断地改进程序的操作及其与计算机系统的交互,但对系统资源的需求仍继续不断增加。资源需求型应用程序的示例之一是反病毒程序,这是因为诸如病毒、蠕虫、间谍软件以及其他类型的恶意软件的复杂性持续增加以及数目持续增长。
现代的应用程序通常具有控制其执行的许多不同设置。在应用程序的执行过程中,对大多数系统硬件和软件组件,包括系统的处理器、操作存储器和硬盘驱动器,不同的程序设置会产生不同的负载。一些程序设置会使计算机系统超载并损害其性能。据此,需要一种技术,用于评测计算机系统上的不同程序设置的效果并且在程序执行过程中动态地调整程序设置以提高系统性能。
发明内容
本申请中所披露的是用于基于策略的适应性程序配置的系统、方法和计算机程序产品。在一个示范性实施例中,方法包括:从计算机系统收集一个或多个计算机系统组件的配置和性能信息,所述计算机组件包括硬件和软件组件。该方法还包括基于所收集的配置和性能信息对所述计算机系统的组件进行评定。可以将组件的性能评定值作为组件的性能特性和一个或多个技术特性的函数来计算。可以通过权重系数来调整组件的性能评定值,以考虑所述计算机系统的不同组件之间的相关成本、不同系统组件之间的互用性或者计算机的操作系统对系统组件的性能的影响。该方法还包括通过例如对各系统组件的性能评定值应用模糊逻辑规则来计算所述计算机系统的总体性能评定值。
该方法还包括基于所述总体系统性能评定值来对所述计算机系统进行分类。不同类别的计算机系统具有不同性能特性。该方法还包括基于所述系统分类而为将要在所述计算机系统上执行的程序选择多个预定义操作策略的其中之一。每个预定义操作策略为每个类别的计算机系统规定不同的程序设置以及不同的由所述程序占用的系统资源利用率的极限值。该方法还包括:监视由正在所述计算机系统上执行的所述程序占用的系统资源利用率,以确定系统资源利用率是否超过所选操作策略中所规定的极限值。如果所述系统资源利用率超过所规定的极限值,则该方法选择另一预定义操作策略,所述另一预定义操作策略规定了不同程序设置和不同系统资源利用率极限值。如果所述系统资源利用率超过所有预定义操作策略中所规定的极限值,则该方法为所述程序实时创建定制操作策略。所述定制操作策略规定使所述计算机系统上系统资源利用率最小化的不同程序设置。
以上对本发明示范性实施例的简要概括用于提供对这类实施例的基本理解。此概括并不是本发明设想的所有方面的宽泛概述,并且既不意图确定所有实施例的重要或关键要素也不意图限制任何或所有实施例的范围。其唯一的目的在于简要地提出一个或多个方面的一些构思,作为下面更为详细的描述的前序。为了实现前述的以及相关的目的,一个或多个实施例包括将在下面充分描述且在权利要求书中特别指出的特征。下面的描述和附图详细地阐述了一个或多个实施例的某些示范性特征。但是,这些特征仅表示其中可以采用各个方面的原理的各种方式中的一些,并且此描述意图包括所有这样的方面及其等同物。
附图说明
附图包含于说明书中并构成说明书的一部分,示出了本发明的一个或多个示范性实施例,与详细描述一起用于解释本发明实施例的原理和实施方式。
附图中:
图1示出了根据一个示范性实施例的用于基于策略的适应性程序配置的系统的示意性框图。
图2示出了根据一个示范性实施例的用于基于策略的适应性程序配置的方法流程。
图3示出了根据另一个示范性实施例的用于基于策略的适应性程序配置的方法流程。
图4示出了根据一个示范性实施例的用于存储策略信息的数据结构。
图5示出了根据另一个示范性实施例的用于存储策略信息的数据结构。
图6示出了根据一个示范性实施例的计算机系统的示意性框图。
具体实施方式
在本申请中,将围绕对用于基于策略的适应性程序配置的系统、方法和计算机程序产品来描述示范性实施例。本领域普通技术人员应认识到,下面的描述仅仅是示例性的而并非意图进行任何方式的限定。受益于本申请的本领域的技术人员将容易获得其他实施例的启示。现在,将更为详细地描述如附图中所示的示范性实施例的实施方式。贯穿全部附图以及下列描述,相同的附图标记将尽可能用于表示相同或相似的对象。
图1示出了根据本发明一个示范性实施例的用于基于策略的适应性程序配置的系统的示意性框图。系统100包括一台或多台计算机105,每台计算机105均具有多个应用程序110并且与设置111、112等相关联。计算机105可以是家用PC、笔记本、瘦客户端(thin client)或胖客户端(thick client)办公计算机、游戏PC、应用服务器或其他类型的可编程机器。计算机105可连接到局域网(未示出)中。应用程序110可包括计算机程序、脚本、代码、插件以及其他类型的计算机可执行指令。在一个示范性实施例中,应用程序110A包括反病毒程序。程序设置111、112等用于控制应用程序110的操作。在反病毒程序的情形下,程序设置包括恶意软件扫描设置,诸如指示恶意软件扫描开始的日期/时间设置、扫描持续时间设置、硬件扫描设置、软件扫描设置等。
在一个示范性实施例中,系统100进一步包括一个或多个本地软件代理120。软件代理120可作为单机程序、脚本或其他类型的可执行、可编译或可解释的指令加以实现。软件代理120可直接设于计算机105上或者经由网络连接到计算机105的其他网络设备上。软件代理120执行下列功能:从计算机105收集系统配置和性能信息,在于计算机105上执行应用程序110的过程中监视系统资源利用率,以及调整程序设置111、112等以便提高计算机105的系统资源利用率和总体性能。
在一个示范性实施例中,系统100还包括评定引擎130和规则数据库140。评定引擎130和规则数据库140可处于单独的网络设备中,例如,处于本地或远程应用服务器中。替代地,评定引擎130和规则数据库140可与软件代理120设于同一系统或同一网络上。在一个示范性实施例中,评定引擎130执行下列功能:将软件代理120设于计算机105上,从软件代理120接收计算机配置和资源利用率信息,评定计算机105的性能,基于计算机105的性能评定值对其进行分类。在一个示范性实施例中,数据库140包含用于确定计算机105的性能评定值的模糊逻辑规则。
在一个示范性实施例中,系统100还包括策略引擎150和策略数据库160。策略引擎150和策略数据库160可处于单独的网络设备中,例如,处于本地或远程应用服务器中。替代地,策略引擎150和策略数据库160可与软件代理120设于同一系统或同一网络上。在一个示范性实施例中,策略引擎150执行下列功能:维护预定义计算机分类;维护预定义操作策略,所述预定义操作策略规定用于应用程序110的程序设置;以及为计算机105生成定制操作策略。在一个示范性实施例中,策略数据库160既包含定制操作策略,也包含针对用于各种计算机类别的应用程序110的预定义操作策略。
在一个示范性实施例中,系统100可进一步包括远程服务器170,所述远程服务器170由提供基于策略的配置服务的供应商进行主机访问。远程服务器170提供软件升级以及与新的软件和硬件组件、模糊逻辑规则、计算机分类、操作策略定义和其他信息有关的更新信息。应予以注意的是,所描绘的系统配置并非限制性的,其他软件和硬件组件也可以和数据库一样用于各种实施例中。
在一个示范性实施例中,软件代理120可以被配置为在计算机105启动(boot-up)时自动启动。替代地,软件代理120可以由计算机用户、系统管理员、评定引擎130、策略引擎150或诸如反病毒应用程序的应用程序110其中之一激活。代理120一旦被激活就开始从计算机105收集系统配置信息,包括硬件和软件信息。硬件配置信息可包括但不限于与CPU、工作内存、硬盘驱动器和网络接口有关的信息。软件配置信息可包括但不限于与在计算机105上运行的操作系统、软件应用程序、程序、脚本以及进程有关的信息。软件代理120还可收集其他系统信息,例如注册表数据,这些系统信息指示PC 101上运行有哪些应用程序、程序和进程。然后,软件代理120将所收集的系统配置和性能信息转发给评定引擎130和策略引擎150。
在一个示范性实施例中,性能评定引擎130引导计算机105的性能分析和评定。图2示出了由评定引擎130实施的示范性性能评定算法。如图所示,在步骤210,评定引擎130从软件代理120获得关于计算机105的配置和性能信息,例如,与计算机的CPU、工作内存、硬盘驱动器(HDD)、网络接口和操作系统(OS)有关的信息。CPU信息可包括例如处理器内核数量、工作频率、处理器架构及其性能统计数据。与工作内存有关的信息可包括RAM的容量和带宽。同样,与硬盘驱动器有关的信息可包括硬盘驱动器的容量和带宽。网络信息可包括网络的类型,如有线的或无线的,以及实际带宽。每个系统组件的性能,例如其实际带宽,可以通过标准检查和诊断实体程序(benchmark and diagnostic utility)来测量,所述标准检查和诊断实体程序例如为HD Tune、PCMark Vantage、3DMark Vantage以及由评定引擎130所使用的其他系统分析软件。
为了评定总体系统性能,在步骤220,评定引擎130为计算机105的组件计算各自的性能评定值。一般而言,系统组件的技术特性和性能越高,则其性能评定值就越高。对于一些系统组件,评定引擎130只可以使用一个技术特性来评定计算机105的组件的性能。例如,工作内存的性能只可以基于其容量来评定,容量的单位为兆字节(Megabytes)。网络接口的性能可以基于其实际带宽来评定,带宽的单位为每秒兆位(Megabits per second)。对于其他系统组件,评定引擎130可以将其性能评定值作为若干不同技术特性的函数来计算。例如,可以将CPU的性能作为下列函数来评定:CPU内核数量系数乘以CPU的工作频率并且再乘以CPU架构系数。可以将HDD的性能作为其容量乘以其实际测得带宽系数的函数来评定。在各种实施例中可使用其他函数和系数。
应予以注意的是,各系统组件的性能评定值与评定引擎130所选的各种因素密切相关并且依赖于这些因素。在一个示范性实施例中,评定引擎130可考虑一个系统组件相对于其他系统组件的相关“成本”。例如,CPU时间可具有较低的“成本”,这是因为具有高工作频率(数千兆赫兹)的现代多核处理器可以非常快速地进行资源密集型计算操作;但是,对硬盘驱动器进行存取的时间即向CPU提供数据的时间,会具有高得多的“成本”,这是因为HDD通常具有小得多的带宽(数兆字节每秒)。这会导致应用程序110在执行某些任务的过程中遇到处理器-内存瓶颈,从而损害总体系统性能。在另一个示例中,评定引擎130还可考虑各种系统组件之间的已知的或可能的互用性(interoperability)问题,这些问题会影响总体系统性能。然而在又一个示例中,评定引擎130还可考虑操作系统对总体系统性能的影响,这是因为不同的操作系统控制系统资源利用率的方式不同。为了考虑上述因素以及其他因素,评定引擎130可以对各系统组件的性能评定值和/或计算机105的总体性能评定值应用各种权重系数。
如上所述,基于各系统组件的加权性能评定值,评定引擎130可以为计算机105计算总体系统性能评定值。 在一个示范性实施例中,总体系统性能评定值可以被表示为各系统组件的加权性能评定值系数的字符串,该字符串可表示为下列格式:CPU/RAM/HDD/ Network。例如,对于具有下列技术特性的计算机:Pentium 4 3Ghz/512Mb/500GB 7200RPM/10Mbit/s,总体系统性能评定值可以表示如下:3000/512/65000/10000。在此总体系统性能评定值中,CPU性能评定值系数3000表示Pentium 4 3Ghz;RAM性能评定值系数512表示512Mb内存;HDD性能评定值系数65000表示500GB硬盘驱动器(考虑到由于该硬盘驱动器的高RPM而导致的数据存取时间的较低“成本”,此评定值已通过将1.3作为系数加权);Network性能评定值系数10000表示10Mb/s以太网。在另一示例中,对于具有下列配置的计算机:Core i7 2.66Ghz/4096MB/SSD 160GB/30Mbit/sec,总体系统性能评定值可以表示如下:10000/4096/200000/30000。在此总体系统性能评定值中,CPU性能评定值系数10000表示 2.66Ghz Core i7 处理器(考虑到该处理器所利用的明显提高其性能的多核和超线程技术,此评定值已通过将3.5作为系数加权);RAM性能评定值系数4096表示4096Mb的RAM;HDD性能评定值系数200000表示160GB HDD(考虑到对存储在固态驱动器上的数据进行存取的时间的极低“成本”此评定值已通过将12.5作为系数加权);Network性能评定值系数30000表示10Mbit/sec光网接口。
参照图2,根据一个示范性实施例,在步骤230-250,评定引擎130可以使用模糊逻辑,以基于该示范性实施例各系统组件的性能评定值来确定总体系统性能评定值。具体地,在步骤230,评定引擎130将各组件CPU/RAM/HDD/Network的非模糊量化性能评定值模糊化-转换为模糊逻辑语言变量。例如,各组件性能评定值的语言变量可具有五个相关联的语言值,例如,“极低”、“低”、“中”、“高”以及“极高”。
接着,在步骤240,评定引擎130对各系统组件的性能评定值的语言值应用模糊逻辑规则。这些规则被存储在数据库140中且被频繁更新,以将新开发的、市售的计算机组件纳入考虑。在一个实施例中,评定引擎130可应用特定于组件的模糊逻辑规则,以为总体系统性能评定值变量确定模糊逻辑值。该逻辑模糊规则可具有IF-THEN格式。例如,特定于组件的模糊逻辑规则可指定“IF处理器评定值为高,THEN总体系统性能评定值为高”或者“IF工作内存为极低,THEN总体系统性能评定值为极低”。在另一实施例中,评定引擎130可应用混合模糊逻辑规则,该混合模糊逻辑规则对若干不同性能评定值加以考虑。例如,混合模糊逻辑规则可指定“IF处理器评定值为极高AND工作内存为高AND硬盘驱动器评定值为高AND网络评定值为中,THEN总体系统性能评定值为高”或者“IF处理器评定值为极高AND工作内存为中AND硬盘驱动器评定值为高AND网络评定值为高,THEN总体系统性能评定值为中”。因此,模糊逻辑规则为总体系统性能评定值变量提供模糊逻辑值,例如,“极低”、“低”、“中”、“高”以及“极高”。
接下来,在步骤250,评定引擎130将模糊逻辑语言值反模糊化-转换为非模糊量化值,所述非模糊量化值表示计算机105的总体系统性能评定值。计算输出值的复杂过程考虑了步骤240所应用的模糊逻辑规则、各系统组件的性能评定值之间的关联程度(degree of affiliation)以及本领域已知的其他标准。在一个示范性实施例中,评定引擎130可以将Mamdani和Sugeno模糊逻辑算法与质心(centroid)反模糊化技术一起应用。应予以注意的是,在替代实施例中可以使用其他已知的反模糊化算法和技术来计算计算机105的总体系统性能评定值。
最后,在步骤260,评定引擎130基于每台计算机105的总体性能评定值而将计算机105归为若干预定义的计算机类别之一。计算机分类可包括但不限于下列计算机系统类别:瘦客户端计算机、笔记本计算机、胖客户端计算机、游戏计算机和网络服务器。具体而言,评定引擎130可将诸如瘦客户端计算机, 低配置的(weak)办公PC, 平板(tablet)计算机、上网本(netbook)、PDA、移动电话这样的具有极低性能评定值1000的计算机归为瘦客户端计算机。可将具有低性能评定值2000的计算机归为笔记本计算机。可将诸如胖客户端计算机以及家用或办公PC这样的具有中性能评定值3000的计算机归为胖客户端计算机。可将具有高性能评定值4000的计算机归为功能强大的游戏PC。可将具有极高性能评定值5000的计算机归为功能强大的网络服务器。应予以注意的是,此分类并非限制性的,在替代实施例中可以创建更少或更多计算机系统类别,以允许更大或更小的系统分类精细度。
一旦计算机105已被分类,评定引擎130就可将计算机分类信息传给策略引擎150,策略引擎150可为应用程序110选择适当的操作策略。图3示出了由策略引擎150实施的示范性策略选择算法。如图所示,在步骤310,策略引擎150从一组预定义操作策略中为应用程序110选择操作策略。策略规定程序设置111、112等,所述程序设置111、112等通过对应用程序110所占用的系统资源利用率进行限制来优化计算机105的性能。程序设置与系统资源利用率之间的关系被示出于下列反病毒程序的示例中。例如,反病毒程序110A的HIPS(基于主机的入侵防御系统)设置的激活对计算机105的处理器产生相当大的负载,而对硬盘驱动器的全面反病毒扫描对计算机的硬盘系统产生相当大的负载。因此,在第一种情形下,处理器利用率将显著增加,以及在第二种情形下,硬盘驱动器利用率将增加。据此,为了优化在其上执行反病毒程序的计算机系统的性能,策略引擎150可利用不同的对反病毒程序所占用的系统资源利用率进行限制的操作策略来控制反病毒程序的设置,同时确保计算机系统105尽最大可能进行反病毒保护。
图4描绘出了诸如反病毒应用程序的应用程序110A的策略表400的示范性实施例。不同的应用程序将具有不同策略表。表400包括若干不同策略,这些不同策略规定不同的程序设置以及由应用程序110A占用的系统资源利用率的极限值。例如,反病毒程序设置可包括但不限于,指示反病毒程序110A开始恶意软件扫描的日期/时间设置、扫描持续时间设置、硬件扫描设置以及软件扫描设置。系统资源利用率极限值可表示为下列格式:CPU1/RAM1/HDD1/NET1,其中,参数CPU1表示由应用程序110A所占用的处理器利用率的极限值,RAM1表示由应用程序110A所占用的工作内存利用率的极限值,HDD1表示由应用程序110A所占用的硬盘驱动器利用率的极限值,NET1表示由应用程序110A所占用的网络利用率的极限值。不同策略的系统资源利用率极限值可表示为总资源利用率的百分比。例如,策略1可规定系统资源利用率极限值为20%/15%/20%/25%。策略2可规定系统资源利用率极限值为35%/25%/25%/30%。策略3可规定系统资源利用率极限值为55%/50%/45%/55%。因此,与操作策略2相比,操作策略3是强度更大的策略,而策略1由于其低资源利用率因而是最轻松的策略。
在一个示范性实施例中,不同的操作策略可应用于不同的计算机类别。图5描绘出了诸如反病毒应用程序的应用程序110A的策略表500的另一示范性实施例。如图所示,表500包括与不同的计算机类别相关联的四种不同策略。如以上示例中所描述的,因为根据操作策略1仅激活反病毒程序的一些基本功能且对系统性能的影响可忽略,所以此策略对计算机105施加轻负载(如,资源利用率20%/15%/20%/25%)。在这一系列策略的另一端,因为根据策略4可激活反病毒程序的所有功能且对系统性能有显著影响,所以此策略对计算机105施加最重的负载(如,资源利用率65%/75%/70%/65%)。然而,如以上所谈及的,不同类别的计算机系统具有不同的性能特性并且能应付不同的处理负载。例如,诸如瘦客户端计算机和笔记本计算机这样的配置较低的计算机系统,可以仅支持策略1和2所规定的轻处理负载,而诸如游戏PC和网络服务器这样的功能更强大的计算机系统,可以支持策略3和4所规定的高得多的处理负载。据此,如表500所示,将计算机105分为不同性能类别,策略引擎150可以为在计算机105上运行的应用程序110选择最适合的操作策略。
在一个示范性实施例中,策略引擎150被配置成自动为与计算机105相关联的系统类别选择最严苛的操作策略,以便最大化应用程序110所执行的任务数。在反病毒应用程序的情形下,最严苛的操作策略对整个计算机105提供最全面彻底的反病毒扫描,这导致最高级别的系统病毒防御。在另一示范性实施例中,策略引擎150可利用模糊逻辑来为应用程序110选择最适当的操作策略。具体而言,模糊逻辑规则可用以评估应用程序所执行的任务及其对系统性能的影响,并且用以选择不会使计算机105过载的适当的程序设置。
再次参照图3,一旦为在计算机105上运行的应用程序110选择了适当的策略,策略引擎150就在步骤320指令软件代理120对该应用程序110应用所选策略,并开始监视由应用程序110占用的系统资源利用率,以确保资源利用率在所选策略规定的极限值内。如果在步骤330,软件代理120确定系统资源利用率未超过所选策略中规定的极限值,则在步骤340,软件代理120继续执行现行策略。然而,如果系统资源利用率开始超过所规定的极限值,则在步骤350,软件代理120会指令策略引擎150选择另一预定义策略。因而,如果原来选择的是策略3,则策略引擎150可提供策略2,策略2具有强度较轻的系统利用率要求并且可在不同时间禁用(deactive)或执行软件的一些功能,以减轻计算机系统105上的负载。在反病毒应用程序的情形下,新策略可将反病毒扫描限制到硬盘驱动器的某些扇区,从而限制该系统组件上的负载。另外,新策略可规定必须在非工作时间执行某些反病毒扫描,例如在晚上、在白天该扫描不会干扰到系统用户的活动时。
在为应用程序110选择了新策略之后,软件代理120继续监视由该应用程序占用的系统资源利用率,并且,如果软件代理120确定系统资源利用率未超过所选策略规定的新极限值,则其继续执行新策略。然而,如果系统资源利用率再次开始超过所规定的极限值,则软件代理120可指令策略引擎150选择另一预定义策略。如果在步骤360,软件代理120确定没有更多的预定义策略可用于计算机105被指定的计算机类别,则软件代理120可收集全部可用系统配置以及与计算机105有关的资源利用率信息,并且将其转发给策略引擎150。而策略引擎150随之利用所收集的信息为诸如反病毒程序这样的应用程序110创建定制操作策略。在一个示例性实施例中,策略引擎150可联系远程服务器170以请求管理员协助生成应用程序110的定制操作策略,这将提高系统性能。
图6描绘出了根据一个示例性实施例的可以用于实现计算机105的示范性计算机系统5。应予以注意的是,计算机系统5还可以用于实现台式计算机、工作站、便携式计算机、应用服务器或其他类型的数据处理设备。如所描绘的,计算机系统5包括通过系统总线10连接的CPU 15、系统内存20、硬盘驱动器30、光盘驱动器35、串行端口40、图形卡45、声卡50和网卡55。系统总线10可以是若干种总线结构中的任何一种,所述总线结构包括使用多种已知总线架构中的任何一种的内存总线或内存控制器、外设总线和现场总线。处理器15可包括Intel® Core 2 Quad 2.33 GHz处理器或其他类型的微处理器。
系统内存20包括只读存储器(ROM)21和随机存取存储器(RAM)23。内存20可以实现于DRAM(动态RAM)、EPROM、EEPROM、闪存或其他类型的存储器架构中。ROM 21存储基本输入/输出系统22(BIOS),包含在计算机系统5的组件之间帮助传递信息的基本例程,例如启动过程。RAM 23存储操作系统24(OS),例如,Windows® Vista®或者其他类型的OS,所述操作系统24负责计算机系统5中进程的管理和协调以及硬件资源的分配和共享。系统内存20还存储当前运行于计算机5上的应用程序和程序25,包括反病毒应用程序和各种其他程序。系统内存20还存储应用程序和程序25所使用的各种运行时间数据26。
计算机系统5可进一步包括硬盘驱动器30,例如,500GB SATA磁盘驱动器,以及用于对可移除光盘进行读取或写入的光盘驱动器35,例如,CD-ROM、DVD-ROM或其他光学介质。驱动器30和35及其关联的计算机可读介质为实现这里所披露的算法和方法的计算机可读指令、数据结构、应用程序和程序模块/子例程提供非易失性存储。虽然示范性计算机系统5使用磁盘和光盘,但本领域技术人员应当理解的是,在计算机系统的替代实施例中,还可以使用能够对可由计算机系统5存取的数据加以存储的其他类型的计算机可读介质,例如,磁带、闪存卡、数字视频光盘、RAM、ROM、EPROM以及其他类型的存储器。
计算机系统5进一步包括多个串行端口40,例如通用串行总线(USB),用于连接诸如键盘、鼠标、触摸板等的数据输入设备75。串行端口40还可用于连接诸如打印机、扫描仪等数据输出设备80以及如外部数据存储设备等其他外围设备85。计算机系统5还可包括图形卡45,例如nVidia® GeForce® GT 240M或其他视频卡,用于与监视器60或其他视频再现设备接口。计算机系统5还可包括声卡50,用于经由内部或外部扬声器65再现声音。此外,计算机系统5还可包括网卡55,例如以太网、WiFi、GSM、蓝牙或用于将计算机系统5连接到如因特网的网络70的其他有线、无线或蜂窝网络接口。
如本申请所使用的,“系统”、“组件”、“代理”以及诸如此类的术语意图包括与计算机相关的实体,例如但不限于硬件、固件、硬件和软件的组合、软件或在执行的软件。例如,组件可以是但不限于是运行于处理器上的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。作为说明,运行于计算设备上的应用程序和该计算设备都可以是组件。一个或多个组件可以处于进程和/或执行线程内,且组件可以本地化于一台计算机上和/或分布于两台或多台计算机之间。另外,这些组件可以从各种非暂时性计算机可读介质执行,这些非暂时性计算机可读介质上存储有各种数据结构。组件可以通过本地和/或远程处理的方式来进行通信,所述远程处理方式例如是根据具有一个或多个数据包的信号,所述数据包例如是来自一个组件的数据,该组件与本地系统中和/或在整个网络上的另一组件交互,所述网络例如是带有其他系统的因特网。
在各种实施例中,这里所描述的算法和方法可以实现于硬件、软件、固件或其任一组合中。如果实施于软件中,则功能可以作为非暂时性计算机可读介质上的一个或多个指令或代码来进行存储或传送。计算机可读介质既包括计算机存储介质也包括通信介质,所述通信介质包括便于将计算机程序从第一个地方传送到另一个地方的任一介质。存储介质可以是可由计算机存取的任何可获得的介质。作为示例而非限制,这类计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储器、磁盘存储器或其他磁性存储设备、或者可用于容纳或存储所需程序代码的任一其他介质,这些程序代码为指令或数据结构的形式且可由计算机存取。此外,可以将任何连接定义为计算机可读介质。例如,如果利用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或诸如红外、射频和微波这类无线技术从网站、服务器或其他远程信源(source)发送软件,则同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或诸如红外、射频和微波这类无线技术被包括在介质的定义内。磁盘和光盘,如这里所使用的,包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和Blu-ray®光盘,其中,磁盘通常磁性地再现数据,而光盘通常利用激光光学地再现数据。以上这些的组合也应当包括在计算机可读介质的范围内。
为了清楚起见,这里所描述的实施方式的常规特征并未全部示出和描述。应予认识到的是,在任何这类实际的实施方式的开发中,为了达到开发者的特定目标例如符合与应用程序相关的制约,必须做出大量特定的实施方式决策,以及这些特定目标将根据不同的实施方式和不同的开发者而改变。而且,应予认识到的是,这类开发工作可能是复杂和耗时的,但不论如何,对于受益于本申请的本领域一般技术人员而言,都将是常规的工程任务。
此外,要理解的是,这里所使用的措辞或术语仅为了说明而非限制,这样,本说明书的术语或措辞将由本领域技术人员鉴于这里所给出的教导并结合相关领域的技术人员的知识予以解释。而且,除非如此明确地予以阐述,否则说明书或权利要求书中的任何术语都并非意图表示不常见的或特殊的意思。这里所披露的各种实施例囊括了本申请中用于说明而涉及的已知构成要素的现在和将来的已知等同物。此外,虽然已经示出和描述了这些实施例及应用,但对于受益于本申请的本领域技术人员而言显而易见的是,在不脱离本申请中所披露的发明构思的情况下,比上面提及的更多的修改例都是可能的。

Claims (14)

1.一种用于基于策略的适应性程序配置的方法,所述方法包括:
从计算机系统收集一个或多个计算机系统组件的配置和性能信息;
基于所收集的信息评定所述计算机系统的性能;
基于系统的性能评定值对所述计算机系统进行分类,其中不同预定义类别的计算机系统具有不同性能特性;
基于所述系统分类而为将要在所述计算机系统上执行的计算机程序选择多个预定义操作策略的其中之一,其中每个预定义操作策略为每个类别的计算机系统规定不同程序设置以及由所述计算机程序占用的系统资源利用率的不同极限值;
监视由正在所述计算机系统上执行的所述计算机程序占用的系统资源利用率,以确定所述系统资源利用率是否超过所选操作策略中所规定的极限值;以及
如果所述系统资源利用率超过所规定的极限值,则为所述计算机程序选择另一预定义操作策略,所述另一预定义操作策略规定了不同程序设置和不同系统资源利用率极限值。
2.如权利要求1所述的方法,进一步包括:重复监视系统资源利用率以及从所述多个预定义策略中选择另一操作策略的步骤,直到所述系统资源利用率不超过最后选择的策略中所规定的极限值为止。
3.如权利要求2所述的方法,进一步包括:如果所述系统资源利用率超过所有预定义操作策略中所规定的极限值,则为所述计算机系统实时创建定制操作策略,其中所述定制操作策略规定了使所述计算机程序所占用的系统资源利用率最小化的不同程序设置。
4.如权利要求3所述的方法,其特征在于,评定所述计算机系统的性能包括:将所述计算机系统的组件的性能作为所述组件的性能特性和一个或多个技术特性的函数来进行评定。
5.如权利要求4所述的方法,进一步包括:通过权重系数来调整所述计算机系统的所述组件的性能评定值,以考虑所述计算机系统的不同组件的相关成本、所述计算机系统的不同组件之间的互用性或者操作系统对不同组件的性能的影响。
6.如权利要求5所述的方法,进一步包括:通过对经调整的系统组件的性能评定值应用模糊逻辑规则来评定所述计算机系统的性能。
7.如权利要求6所述的方法,其特征在于,计算机程序设置包括恶意软件扫描设置,其中所述扫描设置包括:指示恶意软件扫描开始的日期/时间设置、扫描持续时间设置、硬件扫描设置和软件扫描设置。
8.一种用于基于策略的适应性程序配置的系统,所述系统包括:
用于从计算机系统收集一个或多个计算机系统组件的配置和性能信息的装置;
用于基于所收集的信息评定所述计算机系统的性能的装置;
用于基于系统的性能评定值对所述计算机系统进行分类的装置,其中不同预定义类别的计算机系统具有不同性能特性;
用于基于所述系统分类而为将要在所述计算机系统上执行的计算机程序选择多个预定义操作策略的其中之一的装置,其中每个预定义操作策略为每个类别的计算机系统规定不同程序设置以及由所述计算机程序占用的系统资源利用率的不同极限值;
用于监视由正在所述计算机系统上执行的所述计算机程序占用的系统资源利用率,以确定系统资源利用率是否超过所选操作策略中规定的极限值的装置;
用于如果所述系统资源利用率超过所规定的极限值,则为所述计算机程序选择另一预定义操作策略的装置,所述另一预定义操作策略规定了不同程序设置和不同系统资源利用率极限值。
9.如权利要求8所述的系统,其特征在于,所述系统进一步包括:用于重复监视系统资源利用率以及从所述多个预定义策略中选择另一操作策略,直到所述系统资源利用率不超过最后选择的策略中所规定的极限值为止的装置。
10.如权利要求9所述的系统,其特征在于,所述系统进一步包括:用于如果所述系统资源利用率超过所有预定义操作策略中所规定的极限值,则为所述计算机系统实时创建定制操作策略的装置,其中所述定制操作策略规定使所述计算机程序所占用的系统资源利用率最小化的不同程序设置。
11.如权利要求10所述的系统,其特征在于,为了评定所述计算机系统的性能,所述系统进一步包括:用于将所述计算机系统的组件的性能作为所述组件的性能特性和一个或多个技术特性的函数来进行评定的装置。
12.如权利要求11所述的系统,其特征在于,所述系统进一步包括:用于通过权重系数来调整所述计算机系统的所述组件的性能评定值,以考虑所述计算机系统的不同组件的相关成本、所述计算机系统的不同组件之间的互用性或者操作系统对不同组件的性能的影响的装置。
13.如权利要求12所述的系统,其特征在于,所述系统进一步包括:用于通过对经调整的系统组件的性能评定值应用模糊逻辑规则来评定所述计算机系统的性能的装置。
14.如权利要求13所述的系统,其特征在于,计算机程序设置包括恶意软件扫描设置,其中所述扫描设置包括:指示恶意软件扫描开始的日期/时间设置、扫描持续时间设置、硬件扫描设置和软件扫描设置。
CN 201010590652 2010-05-18 2010-12-16 用于基于策略的适应性程序配置的系统及方法 Expired - Fee Related CN102004674B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2010119565 2010-05-18
RU2010119565 2010-05-18

Publications (2)

Publication Number Publication Date
CN102004674A CN102004674A (zh) 2011-04-06
CN102004674B true CN102004674B (zh) 2013-02-13

Family

ID=43812052

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201010590652 Expired - Fee Related CN102004674B (zh) 2010-05-18 2010-12-16 用于基于策略的适应性程序配置的系统及方法

Country Status (2)

Country Link
EP (1) EP2388700A3 (zh)
CN (1) CN102004674B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102395123B (zh) * 2011-10-31 2014-12-10 中兴通讯股份有限公司 管理服务器,以及移动终端的应用程序管理方法
CN104063034B (zh) * 2013-03-22 2017-06-16 技嘉科技股份有限公司 计算机装置及其显卡效能优化方法
CN104618304B (zh) * 2013-11-01 2017-12-15 新华三技术有限公司 数据处理方法及数据处理系统
CN105094983B (zh) 2014-04-30 2020-04-28 华为技术有限公司 计算机,控制设备和数据处理方法
US9665714B1 (en) * 2016-05-31 2017-05-30 AO Kaspersky Lab System and method of detecting malicious files on virtual machines in a distributed network
CN118051188A (zh) * 2024-04-11 2024-05-17 四川省华存智谷科技有限责任公司 存储系统的性能优化方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1862496A (zh) * 2006-02-08 2006-11-15 珠海金山软件股份有限公司 一种节能并能优化系统资源的装置和方法
CN101067758A (zh) * 2007-06-14 2007-11-07 华南理工大学 一种嵌入式系统的能耗管理方法
CN101093456A (zh) * 2006-06-21 2007-12-26 国际商业机器公司 使用性能监视器优化系统性能的系统和方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7480912B2 (en) * 2003-05-29 2009-01-20 International Business Machines Corporation Method for policy-based, autonomically allocated storage
US7313796B2 (en) * 2003-06-05 2007-12-25 International Business Machines Corporation Reciprocity and stabilization in dynamic resource reallocation among logically partitioned systems
US20050149940A1 (en) * 2003-12-31 2005-07-07 Sychron Inc. System Providing Methodology for Policy-Based Resource Allocation
US7441242B2 (en) * 2004-04-22 2008-10-21 International Business Machines Corporation Monitoring performance of a logically-partitioned computer
US20070055771A1 (en) * 2005-07-25 2007-03-08 International Business Machines Corporation Controlling workload of a computer system through only external monitoring
US7890298B2 (en) * 2008-06-12 2011-02-15 Oracle America, Inc. Managing the performance of a computer system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1862496A (zh) * 2006-02-08 2006-11-15 珠海金山软件股份有限公司 一种节能并能优化系统资源的装置和方法
CN101093456A (zh) * 2006-06-21 2007-12-26 国际商业机器公司 使用性能监视器优化系统性能的系统和方法
CN101067758A (zh) * 2007-06-14 2007-11-07 华南理工大学 一种嵌入式系统的能耗管理方法

Also Published As

Publication number Publication date
EP2388700A2 (en) 2011-11-23
CN102004674A (zh) 2011-04-06
EP2388700A3 (en) 2013-08-07

Similar Documents

Publication Publication Date Title
US7917954B1 (en) Systems and methods for policy-based program configuration
Dashti et al. Dynamic VMs placement for energy efficiency by PSO in cloud computing
CN107632842B (zh) 规则配置和发布方法、系统、设备及存储介质
US9875111B2 (en) Information handling system performance optimization system
US10003547B2 (en) Monitoring computer process resource usage
CN101976209B (zh) 相冲突的应用程序的适应性配置
CN102004674B (zh) 用于基于策略的适应性程序配置的系统及方法
EP3191960B1 (en) Methods and systems for aggregated multi-application behavioral analysis of mobile device behaviors
US9898602B2 (en) System, apparatus, and method for adaptive observation of mobile device behavior
Dupont et al. An energy aware framework for virtual machine placement in cloud federated data centres
JP5632097B2 (ja) シグネチャとは無関係の、システム挙動に基づいた、マルウェア検出
US8161475B2 (en) Automatic load and balancing for virtual machines to meet resource requirements
Hsu et al. Smoothoperator: Reducing power fragmentation and improving power utilization in large-scale datacenters
US20110022870A1 (en) Component power monitoring and workload optimization
JP6777732B2 (ja) コンピューティングデバイスにおけるプロセスに対するソフトウェア攻撃の検出
CN103500003B (zh) 便携式终端的cpu频率调节方法及调节装置
CN110347546B (zh) 监控任务动态调整方法、装置、介质及电子设备
US20220036220A1 (en) Machine learning data cleaning
CN110532150B (zh) 一种机箱管理方法、装置、存储介质及处理器
Zhang et al. PRMRAP: A proactive virtual resource management framework in cloud
Feng et al. Research on computer software engineering database programming technology based on virtualization cloud platform
US8495033B2 (en) Data processing
US20220350720A1 (en) Computing device application performance optimization system
US11822618B2 (en) System and method for profiling for microsegmentation based on unique signature of a device
US11593142B2 (en) Configuration optimization with performance prediction

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20130213

Termination date: 20211216