CN102736954B - 通过禁用应用来解决系统退化 - Google Patents

通过禁用应用来解决系统退化 Download PDF

Info

Publication number
CN102736954B
CN102736954B CN201110417180.XA CN201110417180A CN102736954B CN 102736954 B CN102736954 B CN 102736954B CN 201110417180 A CN201110417180 A CN 201110417180A CN 102736954 B CN102736954 B CN 102736954B
Authority
CN
China
Prior art keywords
application
mark
data
computing machine
user
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.)
Active
Application number
CN201110417180.XA
Other languages
English (en)
Other versions
CN102736954A (zh
Inventor
K.苏布拉曼亚
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102736954A publication Critical patent/CN102736954A/zh
Application granted granted Critical
Publication of CN102736954B publication Critical patent/CN102736954B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3409Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Storage Device Security (AREA)

Abstract

在一些实施例中,执行标识一个或者多个应用的例程,这些应用消耗计算机的资源而无证实这样的消耗合理的益处,该例程包括评估来自计算机外部的源的至少一些数据,并且在没有请求或者授权使用一个或者多个标识的应用的用户输入时禁止这样的应用在计算机上启动的能力。在一些实施例中,外部数据源可以例如包括标识潜在非所需应用的远程数据库和/或远程软件信誉服务。在一些实施例中,执行标识一个或者多个应用并且也标识一个或者多个资源或者实用程序的例程,这些应用消耗计算机的资源而无证实这样的消耗合理的益处,这些资源或者实用程序利用该一个或者多个应用。在没有请求或者授权使用一个或者多个标识的应用的用户输入时禁止这样的应用在计算机上启动的能力,并且在没有请求或者授权尝试利用一个或者多个应用的用户输入时禁止一个或者多个资源或者实用程序这样尝试的能力。

Description

通过禁用应用来解决系统退化
背景技术
终端用户常常察觉他们的个人计算机(PC)随时间变慢或者“退化”。这样的性能退化的最普遍原因之一是“常开”的应用。由于这样的应用持续运行,所以它们固定地消耗大量输入/输出(IO)、中央处理单元(CPU)、存储器、网络和其它资源。它们也可能由于尝试经由系统托盘气球提示、弹出式对话框等发起与用户的对话而让用户烦恼。这样的应用的常见例子是软件的到期试用版本、PC清理程序、与工具栏捆绑的屏保程序等。用户一般无法在安装时知道给定的应用可能对他的或者她的机器具有什么类型影响并且也无法轻易将察觉的退化归结于特定起因。
察觉PC性能退化的用户经常求助于PC清理工具、注册表清理实用程序、反病毒/反恶意软件的工具等来修复问题。然而这样的努力经常引起系统的进一步退化。许多用户也求助于诸如系统还原、还原全PC备份等更激进的方法,这些方法可能潜在地导致应用、数据和/或设置的丢失并且一般无法解决底层问题。
发明内容
在一些实施例中,执行标识一个或者多个应用的例程,这些应用消耗计算机的资源而无证实这样的消耗合理的益处,其中例程包括评估来自计算机外部的源的至少一些数据,并且在没有请求或者授权使用一个或者多个标识的应用的用户输入时禁止这样的应用在计算机上启动的能力。外部数据源可以例如包括标识潜在非所需应用的远程数据库和/或远程软件信誉服务。
在一些实施例中,执行标识一个或者多个应用并且也标识一个或者多个资源或者实用程序的例程,这些应用消耗计算机的资源而无证实这样的消耗合理的益处,这些资源或者实用程序利用一个或者多个应用。在没有请求或者授权使用一个或者多个标识的应用的用户输入时禁止这样的应用在计算机上启动的能力,并且也在没有请求或者授权尝试利用一个或者多个应用的用户输入时禁止一个或者多个资源或者实用程序尝试那样做的能力。
在一些实施例中,一种计算机可读介质具有存储于其上的多个指令,这些指令在由计算机执行时使计算机执行一种方法,该方法涉及到执行标识一个或者多个应用的例程,这些应用消耗计算机的资源而无证实这样的消耗合理的益处。例程包括评估来自计算机外部的源的至少一些数据和/或标识利用一个或者多个应用的一个或者多个资源或者实用程序。在没有请求或者授权使用一个或者多个标识的应用的用户输入时禁止这样的应用在计算机上启动的能力。对于其中例程包括标识利用一个或者多个应用的一个或者多个资源或者实用程序的实施例,在没有请求或者授权尝试利用一个或者多个应用的用户输入时禁止一个或者多个资源或者实用程序这样做的能力。
附图说明
附图不旨在按比例绘制。在附图中,在各图中图示的每个相同或者接近相同部件由同样的标号代表。为求清楚,可以不在每幅图中标注每个部件。在附图中:
图1是示出了可以在系统中包括的并且可以用来标识和禁用引起系统退化的非所需应用的软件模块例子的功能框图;并且
图2图示了本发明的实施例可以实施于其上的适当计算系统环境的例子。
具体实施方式
可以通过标识引起系统退化的非所需应用并且禁用它们来改善PC性能退化。这里描述用于实现该目的的各种新颖系统、方法和计算机可读介质。通过使用一种或者多种公开的技术,或者自动响应于系统事件或者在用户提示下,可以有选择地禁用引起系统退化的非所需应用。这里将这一过程称为“复原(rejuvenation)”。
应用如今具有多种在系统启动时启动的方式。这样的启动机制的例子包括登录注册表项、开始菜单/程序/启动、Internet Explorer®/IE扩展文件、调度任务、服务、驱动程序、引导执行文件、映像劫持、边栏小工具等。许多安装程序在安装期间需要用户账户控制(UAC)提升并且使用一个或者多个前述机制来自由地起动它们本身。在这些应用在系统启动期间启动时,它们可能影响多种系统度量(包括引导时间)。
可以用许多方式中的任何方式完成标识为了复原的目的而被禁用的应用,并且本发明并不限于使用任何特定标识方法或者技术。然而任何这样的分析的基本目的在于标识如下那些应用,这些应用消耗系统资源而未提供证实这样的消耗合理的一些所需益处。在一些实施例中,可以通过从用户的机器收集和评估性能和可靠性数据来实现标识满足该标准的应用。除此之外或者取而代之,在一些实施例中,可以从一个或者多个外部源获得数据以辅助标识待禁用的应用。在一些实施例中,例如可以向一个或者多个远程数据库查询标识非所需应用的数据和/或可以咨询一个或者多个远程评级服务以获得其他人提供的与他们对特定款软件的了解和/或经验有关的评级和/或分析。可以用于这样的目的的适当外部源的例子包括Microsoft® Security Engineering Center(MSEC,Microsoft®安全工程中心)维护的由Microsoft® Windows® Malicious Software Removal Tool(Microsoft® Windows®恶意软件移除工具)使用的潜在非所需软件的数据库以及可以由Microsoft®或者某一其它实体管理的如下信誉数据存储库或者服务,该信誉数据存储库或者服务提供关于应用的各种特性(例如性能、安全性和/或可靠性)的信誉数据和/或评级。
在一些实施例中,除了防止某些非所需应用在系统启动时启动之外,也可以标识和禁用任何在安装那些应用时(或者可能在某更晚时间)可能已经加载到机器上并且引用或者以别的方式利用被禁用的应用的资源或者实用程序。可以与禁用的应用链接的这样的资源或者实用程序的例子包括文件句柄注册、二进制扩展文件、编码器-解码器(CODEC)注册、专用工具栏实用程序等。
图1是示出了可以在系统100中包括的并且可以用来标识和禁用应用以复原计算机的软件模块例子的功能框图。描绘的软件模块可以例如驻留于计算机(例如下文结合图2描述的计算机)的存储器中并且由该计算机执行。如图所示,在一些实施例中,系统可以运用三个主要组件:(1)应用列表生成器102、(2)决策引擎104和(3)应用禁用模块106。
可以例如基于性能或者可靠性测量自动地启动或者可以由用户主动启动系统100执行的复原过程。当发起复原时,应用列表生成器102可以标识各种应用和服务作为可能禁用的候选。在一些实施例中能够,例如应用列表生成器102可以标识在启动时起动的和/或持续运行的或者以别的方式被确定为代表明显耗用系统资源的所有二进制文件。
应用如今可以在系统启动时启动的方式的例子包括登录注册表项。开始菜单/程序/启动、Explorer/IE扩展文件、调度任务、服务、驱动程序、引导执行文件、映像劫持、边栏小工具等。在一些实施例中,应用列表生成器102可以扫描系统寻找一个或者多个这样的挂钩中的应用的条目并且在它的可能禁用候选列表中包括所有这样的应用。
然后可以向决策引擎104传递候选二进制文件列表,该决策引擎可以负责确定是否应当禁用任何标识的二进制文件。如图所示,决策引擎104可以例如依赖于来自用户的机器的性能和可靠性数据108、在MSEC或者某一其它实体管理的远程数据库110中包含的信息和/或如下信誉服务112,该信誉服务提供关于应用的各种特性(例如性能、安全性和/或可靠性)的信誉数据和/或评级。检查性能和可靠性数据108可以例如涉及评估二进制文件的诸如失效率、盘I/O、CPU使用、网络使用、挂钩数据等因素。在一些实施例中,用户机器上的操作系统的性能测量和报告系统或者其它性能分析工具收集或者生成的诸如Event Tracing for Windows® (ETW,Windows®事件跟踪)数据、Software Quality Metrics (SQM,软件质量度量)数据等数据可以用来评估机器随时间的性能。类似地,在一些实施例中,除此之外或者取而代之,操作系统的可靠性跟踪和报告系统或者其它可靠性分析工具可以用来提供随时间的可靠性信息。可以例如在系统复原事件时起动专用监视过程以标识可能引起性能和可靠性问题的应用。在一些实施例中,这样的专用监视过程可以与各种性能和/或可靠性工具独立操作或者可以使用来自各种性能和/或可靠性工具的数据。
如上文所言,MSEC维护由Microsoft® Windows® Malicious Software Removal Tool(Microsoft® Windows®恶意软件移除工具)使用的潜在非所需软件的数据库。这一数据库可以例如由决策引擎104远程访问以标识用户最可能不想使用的程序。除此之外或者取而代之,决策引擎可以远程访问来自远程数据库或者服务112的信誉和/或评级数据,并且这样的数据可以用作如下度量,该度量用于标识可靠性和/或性能分数不佳的应用并且以它们为禁用目标。这样的服务可以例如允许软件用户关于多种性能或者可靠性标准中的任何标准对软件产品评价和/或评级。前述技术中的任何或者所有技术可以由决策引擎104个别或者组合地用来确定应当禁用哪些应用。然后可以向应用禁用模块106传递如由决策引擎104确定的待禁用的二进制文件的列表。
应用禁用模块106可以例如阻止标识的应用的所有实例运行并且也可以采取用于阻止应用在系统启动时自动启动的步骤。在一些实施例中,应用禁用模块106还可以例如通过使用来自操作系统的兼容度中心(例如应用标识子系统114)的数据来标识所有依赖于作为禁用目标的应用的二进制文件并且可以从自动启动位置移除那些二进制文件的条目。在一些实施例中,应用禁用模块106还可以采用其他的步骤来鉴于这样的二进制文件的禁用而清理系统,例如通过移除破碎的快捷方式、修复打开句柄等来进行。因此,在一些实施例中,除了防止某些非所需应用在系统启动或以别的方式操作时启动之外,应用禁用模块106也可以标识和禁用在安装那些应用时(或者可能在某更晚时间)可能已经加载到机器上并且引用或者以别的方式依赖于被禁用的应用的资源或者实用程序。可以与禁用的应用链接的这样的资源或者实用程序的例子包括文件句柄注册、二进制扩展文件、CODEC(编码器-解码器)注册、专用工具栏实用程序等。
在一些实施例中,禁用应用可以涉及进行用于完全消除应用在用户机器上自动创建进程的能力的步骤。这样的方式可以保证应用将随后未消耗除了盘空间之外的系统资源。在一些实施例中,可以通过除了用户进行的手动动作之外的方式(例如通过使用快捷方式或者选择开始菜单图标)来使应用的“活动”的组件(例如可执行(EXE)文件、动态链接库(DLL)文件,等等)不可访问。因为可以运用禁用过程而无需对机器进行不可逆改变,所以如果用户肯定地选择这样做,则重新启用应用可以是小事情。例如在一些实施例中,如果用户尝试起动先前禁用的应用,则可以警告用户出于性能和/或可靠性原因而已经禁用应用并且可以要求用户确认仍然希望重新起动该应用。如果用户这样确认,则可以重新启用先前禁用的应用。
图2图示了本发明的实施例可以实施于其上的适当计算系统环境200的例子。计算系统环境200仅为适当计算环境的一个例子而并不意在暗示关于本发明的使用或者功能的范围的任何限制。计算环境200也不应解释为具有与在示例操作环境200中示出的组件中的任一个或其组合有关的任何依赖性或者要求。
本发明的实施例可与许多其它通用或者专用计算系统环境或者配置一起操作。可以适合于与本发明一起使用的公知计算系统、环境和/或配置的例子包括但不限于个人计算机、服务器计算机、手持或者膝上型设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费型电子设备、网络PC、小型计算机、大型计算机、包括任何上述系统或者设备的分布式计算环境等。
计算环境可以执行计算机可执行指令,例如程序模块。一般而言,程序模块包括执行特定任务或者实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。也可以在分布式计算环境(其中任务由通过通信网络链接的远程处理设备执行)中实现本发明的实施例。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算存储介质中。
参照图2,用于实施本发明实施例的示例系统包括形式为计算机210的通用计算设备。计算机210的部件可以包括但不限于处理单元220、系统存储器230和将包括系统存储器的各种系统部件耦合到处理单元220的系统总线221。系统总线221可以是若干类型的总线结构(包括存储器总线或者存储器控制器、外围总线和本地总线(使用多种总线结构中的任何总线结构))中的任何类型的总线结构。举例而言而非限制,这样的架构包括工业标准架构(ISA)总线、微通道架构(MAC)总线、增强型ISA(EISA)总线、视频电子标准协会(VESA)本地总线和外围部件互连(PCI)总线(也称为夹层总线(Mezzanine bus))。
计算机210通常包括多种计算机可读介质。计算机可读介质可以是计算机210可以访问的任何可用介质并且包括易失性和非易失性介质、可移动和不可移动介质。举例而言而非限制,计算机可读介质可以包括计算机存储介质和通信介质。计算机存储介质包括用任何用于存储信息(例如计算机可读指令、数据结构、程序模块或者其它数据)的方法或者技术实施的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或者其它存储器技术、CD-ROM、数字万用盘(DVD)或者其它光盘储存器、磁盒、磁带、磁盘存储或者其它磁存储设备或者任何可以用来存储所需信息并且可以由计算机210访问的其它介质。通信介质通常以调制的数据信号(例如载波)或者其它传送机制体现计算机可读指令、数据结构、程序模块或者其它数据并且包括任何信息递送介质。术语“调制的数据信号”意味着如下信号,该信号的一个或者多个特性以对信号中的信息编码这样的方式来设置或者改变。举例而言而非限制,通信介质包括有线介质(例如有线网络或者直接线连接)和无线介质(例如声学、RF、红外线和其它无线介质)。在计算机可读介质范围内也应当包括任何上述介质的组合。
系统存储器230可以包括形式为易失性和/或非易失性存储器(例如只读存储器(ROM)231和随机存取存储器(RAM)232)的计算机存储介质。包含如下基本例程的基本输入/输出系统233(BIOS)通常存储于ROM 231中,这些基本例程帮助例如在启动期间在计算机210内的单元之间传送信息。RAM 232通常包含处理元件220立即可访问和/或当前操作的数据和/或程序模块。举例而言而非限制,图2图示了操作系统234、应用程序235、其它程序模块236和程序数据237。
计算机210也可以包括其它可移动/不可移动、易失性/非易失性计算机存储介质。仅举例而言,图2图示了从不可移动、非易失性磁介质读取或者向其中写入的硬盘驱动器240、从可移动、非易失性磁盘252读取或者向其中写入的磁盘驱动器251和从可移动、非易失性光盘256(例如CD ROM或者其它光学介质)或者向其中写入的光盘驱动器255。可以在示例操作环境中使用的其它可移动/不可移动、易失性/非易失性计算机存储介质包括但不限于磁带盒、闪存、数字万用盘、数字视频带、固态RAM、固态ROM等。硬盘驱动器241通常通过不可移动存储器接口(例如接口240)连接到系统总线221,而磁盘驱动器251和光盘驱动器255通常通过可移动存储器接口(例如接口250)连接到系统总线221。
上文讨论并且图2中图示的驱动器及其关联的计算机存储介质提供对用于计算机210的计算机可读指令、数据结构、程序模块和其它数据的存储。在图2中,例如将硬盘驱动器241图示为存储操作系统244、应用程序245、其它程序模块246和程序数据247。注意这些组件可以与操作系统234、应用程序235、其它程序模块236和程序数据237相同或者不同。这里向操作系统244、应用程序245、其它程序模块246和程序数据247给予不同编号以说明至少它们为不同副本。用户可以通过输入设备(例如键盘262和指示设备261(常指鼠标、跟踪球或者触垫))向计算机210中键入命令和信息。其它输入设备(未示出)可以包括麦克风、操纵杆、游戏垫、碟形卫星天线、扫描仪等。这些和其它输入设备经常通过用户输入接口260(该接口耦合到系统总线)连接到处理单元220、但是可以由其它接口和总线结构(例如并行端口、游戏端口或者通用串行总线(USB))连接。监视器291或者其它类型的显示设备也经由接口(例如视频接口290)连接到系统总线221。除了监视器之外,计算机也可以包括可以通过输出外围接口295连接的其它外围输出设备,例如扬声器297和打印机296。
计算机210可以使用与一个或者多个远程计算机(例如远程计算机280)的逻辑连接在联网环境中操作。远程计算机280可以是个人计算机、服务器、路由器、网络PC、对等设备或者其它常见网络节点并且通常包括上文相对于计算机210描述的元件中的多个或者全部,尽管在图2中仅已经图示存储器存储设备281。图2中描绘的逻辑连接包括局域网(LAN)271和广域网(WAN)273、但是也可以包括其它网络。这样的联网环境在办公室、企业范围的计算机网络、内部网和因特网中司空见惯。
当使用于LAN联网环境中时,计算机210通过网络接口或者适配器270连接到LAN 271。当使用于WAN联网环境中时,计算机210通常包括调制解调器272或者用于通过WAN 273(例如因特网)建立通信的其它装置。可以是内部或者外部的调制解调器272可以经由用户输入接口260或者其它适当机制连接到系统总线221。在联网环境中,相对于计算机210描绘的程序模块或者其部分可以存储于远程存储器存储设备中。举例而言而非限制,图2将远程应用程序285图示为驻留于存储器设备281上。将理解所示网络连接为示例性的并且可以使用其它在计算机之间建立通信链路的手段。
已经这样描述本发明至少一个实施例的若干方面,将理解本领域技术人员将容易想到各种变更、修改和改进。
这样的变更、修改和改进将作为本公开内容的部分并且预期在本发明的精神和范围内。因而前文描述和附图仅为例子。
可以用许多方式中的任何方式实施本发明的上述实施例。例如,可以使用硬件、软件或者其组合来实施这些实施例。当用软件实施时,可以在任何适当处理器或者处理器的集合(无论是在单个计算机中提供还是分布于多个计算机之中)上执行软件代码。这样的处理器可以实施为集成电路(一个或者多个处理器在集成电路部件中)。然而,可以使用任何适当格式的电路来实施处理器。
另外应当理解可以用许多形式中的任何形式(例如架装计算机、桌面型计算机、膝上型计算机或者写字板计算机)实施计算机。此外,计算机可以嵌入于一般未视为计算机、但是具有适当处理能力的设备(包括个人数字助理(PDA)、智能电话或者任何其它适当便携或者固定电子设备)中。
计算机也可以具有一个或者多个输入和输出设备。这些设备可以用来尤其给出用户接口。可以用来提供用户接口的输出设备的例子包括用于视觉地呈现输出的打印机或者显示屏和用于可听地呈现输出的扬声器或者其它声音生成设备。可以用于用户接口的输入设备的例子包括键盘和指示设备(例如鼠标、触垫和数字化写字板)。作为另一例子,计算机可以通过话音识别或者用其它可听格式接收输入信息。
这样的计算机可以由任何适当形式的一个或者多个网络(包括局域网或者广域网(例如企业网或者因特网))互连。这样的网络可以基于任何适当技术并且可以根据任何适当协议操作并且可以包括无线网、有线网或者光纤网。
这里概述的各种方法或者过程可以编码为可在运用多种操作系统或者平台中的任何操作系统或者平台的一个或者多个处理器上执行的软件。此外,这样的软件还可以使用多个适当编程语言和/或编程或者脚本工具中的任何语言和/或工具来编写并且也可以编译为在框架或者虚拟机上执行的可执行机器语言代码或者中间代码。
就这一点而言,本发明可以体现为用一个或者多个如下程序编码的一个计算机可读存储介质(或者多个计算机可读介质)(例如计算机存储器、一个或者多个软盘、致密盘(CD)、光盘、数字视频盘(DVD)、磁带、闪存、现场可编程门阵列或者其它半导体器件中的电路配置或者其它非瞬态、有形计算机存储介质),这些程序在一个或者多个计算机或者其它处理器上执行时执行实施上文讨论的本发明各种实施例的方法。一个或者多个计算机可读介质可以是可运输的,从而存储于其上的一个或者多个程序可以加载到一个或者多个不同计算机或者其它处理器上以实施如上文讨论的本发明的各种方面。如这里所用,术语“非瞬态计算机可读存储介质”仅涵盖可以视为制造品(即制造的产品)或者机器的计算机可读介质。
术语“程序”或者“软件”在这里按照通用意义用来指代任何类型的如下计算机代码或者计算机可执行指令集,该计算机代码或者计算机可执行指令集可以用来对计算机或者其它处理器编程以实施如上文讨论的本发明各方面。此外,还应当理解,根据这一实施例的一个方面,一个或者多个在执行时执行本发明方法的计算机程序无需驻留于单个计算机或者处理器上,而是可以用模块方式分布于多个不同计算机或者处理器之中以实施本发明的各种方面。
计算机可执行指令可以是以一个或者多个计算机或者其它设备执行的许多形式(例如程序模块)。一般而言,程序模块包括执行特定任务或者实施特定抽象数据类型的例程、程序、对象、组件、数据结构等。在各种实施例中通常可以按照需要组合或者分布程序模块的功能。
数据结构也可以用任何适当形式存储于计算机可读介质中。为了简化说明,可以示出数据结构具有通过在数据结构中的位置而相关的域。可以同样地通过为域的存储分配计算机可读介质中的位置来实现这样的关系,所述域的存储传送域之间的关系。然而任何适当机制可以用来在数据结构的域中的信息之间建立关系(包括通过使用在数据元之间建立关系的指针、标记或者其它机制)。
本发明的各种方面可以单独、组合或者在前文中描述的实施例中未具体讨论的多种布置中加以使用、因此在它的应用上并不限于在前文描述中阐述或者在附图中图示的组件的细节和布置。例如在一个实施例中描述的方面可以用任何方式与在其它实施例中描述的方面组合。
本发明也可以体现为已经提供其例子的方法。可以用任何适当方式对作为方法的部分来执行的动作排序。因而可以构造如下实施例,在这些实施例中按照与所示顺序不同的如下顺序执行动作,该顺序可以包括同时执行尽管在示例实施例中表示为依次动作的一些动作。
在权利要求中使用诸如“第一”、“第二”、“第三”等序数术语来修饰权利要求要素这本身并非意味着一个权利要求要素较另一要素而言的任何优越、优先或者顺序或者意味着执行方法动作的时间顺序而是仅用作使具有某一名称的一个权利要求要素区别于具有相同名称(但是使用序数术语)的另一要素以区别权利要求要素的标记。
因而这里使用的措词和术语用于描述而不应理解为限制。这里使用“包括”或者“具有”、“包含”、“涉及”及其变体意味着涵盖随后列举的项目及其等效项目以及附加项目。

Claims (13)

1.一种用于改善系统退化的方法,包括:
利用计算机(200)标识应用,所述应用消耗所述计算机(200)的资源;
评估远程于所述计算机(200)的数据库(110)的至少一些数据;并且
评估以下中的一个或多个:用于所述应用的I/O使用,CPU使用,网络使用和挂钩数据;
在没有用户请求或者用户授权启动所标识的应用的情况下,响应于所述应用的标识,选择性地禁止所述标识的应用在计算机(200)上启动的能力;
标识利用所禁止的应用的一个或多个资源或实用程序;以及
在没有用户请求或用户授权使用的情况下禁止一个或多个所述标识的资源或实用程序利用所禁止的应用的能力。
2.根据权利要求1所述的方法,其中所述标识应用还包括:
从所述数据库(110)取回至少一些数据,所述数据有关潜在非所需应用。
3.根据权利要求1所述的方法,其中标识所述应用还包括:
从远程软件信誉服务数据库(112)取回至少一些数据。
4.根据权利要求3所述的方法,其中从所述远程软件信誉服务数据库(112)取回的所述至少一些数据包括从由软件用户提供的信息导出的评价或者评级数据。
5.根据权利要求1-4中的任一权利要求所述的方法,其中标识应用还包括:
标识将持续运行的应用;并且
针对将持续运行的每个所述标识的应用,确定是否在没有用户请求或者用户授权启动那个应用的情况下禁止该应用在所述计算机(200)上启动的能力。
6.根据权利要求1-4中的任一权利要求所述的方法,其中:
启动所述标识的应用的能力被禁止,而无需从所述计算机(200)移除所标识的应用;并且
所述方法还包括在重新起动禁用的应用之前提示授权重新起动该应用。
7.一种用于改善系统退化的设备,包括:
用于标识应用的组件,所述应用消耗计算机(200)的资源;
用于评估远程于所述计算机(200)的数据库(110)的至少一些数据的组件;以及
用于评估以下中的一个或多个的组件:用于所述应用的I/O使用,CPU使用,网络使用和挂钩数据;
用于在没有用户请求或者用户授权启动所标识的应用的情况下,响应于所述应用的标识,选择性地禁止所述标识的应用在计算机(200)上启动的能力的组件;
用于标识利用所禁止的应用的一个或多个资源或实用程序的组件;以及
用于在没有用户请求或用户授权使用的情况下禁止一个或多个所述标识的资源或实用程序利用所禁止的应用的能力的组件。
8.根据权利要求7所述的设备,其中所述用于标识应用的组件进一步配置用于:
从所述数据库(110)取回至少一些数据,所述数据有关潜在非所需应用。
9.根据权利要求7所述的设备,其中所述用于标识所述应用的组件进一步配置用于:
从远程软件信誉服务数据库(112)取回至少一些数据。
10.根据权利要求9所述的设备,其中从所述远程软件信誉服务数据库(112)取回的所述至少一些数据包括从由软件用户提供的信息导出的评价或者评级数据。
11.根据权利要求7-10中的任一权利要求所述的设备,其中所述用于标识应用的组件进一步配置用于:
标识将持续运行的应用;并且
针对将持续运行的每个所述标识的应用,确定是否在没有用户请求或者用户授权启动那个应用的情况下禁止该应用在所述计算机(200)上启动的能力。
12.根据权利要求7-10中的任一权利要求所述的设备,其中:
启动所述标识的应用的能力被禁止,而无需从所述计算机(200)移除所标识的应用;并且
所述设备还包括用于在重新起动禁用的应用之前提示授权重新起动该应用的组件。
13.根据权利要求7所述的设备,进一步包括:
应用列表生成器(102),其配置成标识可能禁用的应用;
决策引擎(104),其配置成标识应当被禁用的由所述应用列表生成器标识的一个或者多个应用;并且
应用禁用模块(106),其配置成在没有请求或者授权使用所述一个或者多个标识的应用的用户输入时禁止这样的应用在所述计算机(200)上启动的能力。
CN201110417180.XA 2010-12-14 2011-12-14 通过禁用应用来解决系统退化 Active CN102736954B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/967587 2010-12-14
US12/967,587 US8781985B2 (en) 2010-12-14 2010-12-14 Addressing system degradation by application disabling
US12/967,587 2010-12-14

Publications (2)

Publication Number Publication Date
CN102736954A CN102736954A (zh) 2012-10-17
CN102736954B true CN102736954B (zh) 2015-09-09

Family

ID=46200370

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110417180.XA Active CN102736954B (zh) 2010-12-14 2011-12-14 通过禁用应用来解决系统退化

Country Status (2)

Country Link
US (1) US8781985B2 (zh)
CN (1) CN102736954B (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9256447B2 (en) * 2011-10-25 2016-02-09 Citrix Systems, Inc. Integrated application launching in heterogeneous cloud computing environment
CN103873273B (zh) * 2012-12-10 2017-03-08 腾讯科技(深圳)有限公司 一种对网络应用进行限制的方法和装置
KR102393742B1 (ko) * 2014-09-30 2022-05-02 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 전력 절약 모드에서 디스플레이상에 콘텐츠를 디스플레이하는 방법
RU2634177C1 (ru) * 2016-05-20 2017-10-24 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения нежелательного программного обеспечения
CN106095553A (zh) * 2016-06-15 2016-11-09 依偎科技(南昌)有限公司 一种应用冻结方法及移动终端
EP3756090A1 (en) * 2018-12-07 2020-12-30 Google LLC Passive-enabled applications for a computing device
CN109657455B (zh) * 2018-12-25 2021-11-30 深圳创维数字技术有限公司 应用实时切换方法、设备、存储介质及装置
WO2021002849A1 (en) * 2019-07-02 2021-01-07 Hewlett-Packard Development Company, L.P. Computer readable program code change impact estimations
US11620363B1 (en) 2021-03-15 2023-04-04 SHAYRE, Inc. Systems and methods for authentication and authorization for software license management
US11632362B1 (en) * 2021-04-14 2023-04-18 SHAYRE, Inc. Systems and methods for using JWTs for information security

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1728036A (zh) * 2004-07-30 2006-02-01 微软公司 于软件产品许可证的单次重激活方法和系统
CN1740945A (zh) * 2004-05-28 2006-03-01 微软公司 用自动启动可扩展性点来管理间谍软件以及不需要的软件

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5933646A (en) 1996-05-10 1999-08-03 Apple Computer, Inc. Software manager for administration of a computer operating system
US7243245B2 (en) * 2003-06-20 2007-07-10 International Business Machines Corporation Method and system for performing automatic startup application launch elimination
US8528086B1 (en) * 2004-04-01 2013-09-03 Fireeye, Inc. System and method of detecting computer worms
US7712137B2 (en) 2006-02-27 2010-05-04 Microsoft Corporation Configuring and organizing server security information

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1740945A (zh) * 2004-05-28 2006-03-01 微软公司 用自动启动可扩展性点来管理间谍软件以及不需要的软件
CN1728036A (zh) * 2004-07-30 2006-02-01 微软公司 于软件产品许可证的单次重激活方法和系统

Also Published As

Publication number Publication date
US8781985B2 (en) 2014-07-15
CN102736954A (zh) 2012-10-17
US20120150785A1 (en) 2012-06-14

Similar Documents

Publication Publication Date Title
CN102736954B (zh) 通过禁用应用来解决系统退化
KR102048111B1 (ko) 보안 펌웨어 업데이트 기법
US11693755B2 (en) Optimizing hardware replacement using performance analytics
CN102289615B (zh) 基于系统状态的诊断扫描
US10649875B2 (en) Providing recommendation(s) for a computing device executing a gaming application
CN102938039B (zh) 针对应用的选择性文件访问
US20180046457A1 (en) Method and system for enhancing application container and host operating system security in a multi-tenant computing environment
US7308610B2 (en) Method and apparatus for handling errors in a processing system
CN107145782B (zh) 一种异常应用程序的识别方法、移动终端及服务器
RU2571726C2 (ru) Система и способ проверки целесообразности установки обновлений
CN102419729B (zh) 并行测试执行
US20130117738A1 (en) Server Upgrades with Safety Checking and Preview
US7574624B2 (en) Integrated test method on multi-operating system platform
US20130160126A1 (en) Malware remediation system and method for modern applications
CN109409050B (zh) 包括机器学习快照评估的保护系统
US20180315024A1 (en) Systems and Methods Enabling Secure Transactions from Terminal Window
US20120185776A1 (en) Analyzing resource consumption of software executing during a usage scenario
US6986034B2 (en) Setting a system indication in response to a user when execution of the system setup program is desired
US11467849B2 (en) Systems and methods for collecting deep operating system (OS) telemetry
US9075988B2 (en) Inferring security decisions from trusted users
US9329923B2 (en) Diagnostic testing based on information handling system variables
CN108170605A (zh) Bug信息的提交方法、客户端与计算机可读存储介质
US20120272103A1 (en) Software operability service
US9730038B2 (en) Techniques to manage platform migrations
Schweighofer et al. Mobile Device and Technology Characteristics' Impact on Mobile Application Testing.

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150611

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150611

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

C14 Grant of patent or utility model
GR01 Patent grant