首页> 中国专利> 有效管理配置漂移

有效管理配置漂移

摘要

配置漂移指的是随时间做出的引起计算机或服务偏离所希望的配置的改变。可通过定义配置意图来管理一组机器的配置漂移。意图是通过定义由相关的配置规则的集合组成的配置基线来定义的。配置规则包括设定以及目标,目标可以是允许以更有粒度的级别报告非顺应性的任何受管实体。可通过从一个或多个良好配置的计算机读取配置规则来完成配置基线。通过将实际值与配置基线值比较来评定配置漂移,且配置漂移是在受管实体的级别而不是机器级别被报告的。将计算机返回到与配置基线相顺应的状态的补救可按需被执行。

著录项

  • 公开/公告号CN102754075A

    专利类型发明专利

  • 公开/公告日2012-10-24

    原文格式PDF

  • 申请/专利权人 微软公司;

    申请/专利号CN201180009633.3

  • 申请日2011-03-04

  • 分类号G06F9/44(20060101);G06F17/00(20060101);G06F15/16(20060101);

  • 代理机构31100 上海专利商标事务所有限公司;

  • 代理人陈斌

  • 地址 美国华盛顿州

  • 入库时间 2023-12-18 07:11:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2015-09-16

    授权

    授权

  • 2015-08-19

    专利申请权的转移 IPC(主分类):G06F9/44 变更前: 变更后: 登记生效日:20150730 申请日:20110304

    专利申请权、专利权的转移

  • 2012-12-12

    实质审查的生效 IPC(主分类):G06F9/44 申请日:20110304

    实质审查的生效

  • 2012-10-24

    公开

    公开

说明书

背景

数据中心经常管理包括跨多种平台(也许甚至是在地理上分开的位置中) 部署的物理机和虚拟机的复杂服务器环境。因为数据中心可包括数百或甚至数 千服务器,数据中心管理者欢迎使他们能够自动化服务器供应和更新、计划数 据中心扩展、以及以其他方式帮助应对数据中心环境的许多挑战的工具。

估计差不多一半的不定期系统停机时间可归因于配置问题。配置指的是标 识和设置硬件和软件的属性的值的过程,使得系统为特定的目的而操作。当管 理员对一天一天地发生的问题和需求做出响应时,服务器可逐渐地变得以偏离 于策略或标准的方式配置。该过程被称为配置漂移。

概述

如果计算机不是类似地被配置,则管理多个机算计可快速地变得复杂。即 使对于最初被完全相同地配置的计算机,配置改变也可能随时间发生。配置漂 移越大,就变得越难以调试问题,使得对计算机的有效管理和维护更困难。

可通过定义所希望的配置、评定计算机与所希望的配置的偏移(配置漂 移)、以及补救计算机(人工地或自动地)来去除配置漂移,来管理计算机的 软件配置漂移。可通过读取被认为是良好配置的一个或多个现有计算机的配置 来定义所希望的配置。对配置漂移的补救可以自动和受控的方式来执行。与服 务相关联的部署基线以及补救可被结合在一起,以防止部署映像/资产和经部署 的系统之间的漂移,以允许基于映像的维修、重部署、以及无配置漂移的横向 扩展。

提供本概述以便以简化形式介绍将在以下详细描述中进一步描述的一些 概念。本概述并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在 用于限制所要求保护主题的范围。

附图简述

在附图中:

图1示出了根据本文公开的主题的各方面的用于管理配置漂移的系统100 的示例。

图2是根据如参考图1所述的本文所公开的主题的各方面的自动管理配置 漂移的方法200的示例的流程图;

图3是根据如参考图1所述的本文所公开的主题的各方面的可为管理配置 漂移而生成的报告的示例;

图4是根据如参考图2所述的本文所公开的主题的各方面的可为管理配置 漂移而生成的另一报告的示例;以及

图5是示出其中可实现本文所公开的主题的各方面的计算环境的示例的框 图。

详细描述

总览

基于模型的方法可被用来管理系统的所希望的配置。配置管理器提供通过 定义配置基线来度量和管理系统的配置漂移的能力。配置基线可包括关于操作 系统配置、软件更新、禁止的和允许的应用、以及自定义设定的信息。配置基 线定义使得数据中心的管理员能够管理配置漂移。可实现维护窗口,使得组织 可选择某一时间来将改变应用于物理机和虚拟机集合的成员。

本文所公开的主题描述了提供通过定义配置意图、评定配置漂移以及补救 配置漂移来管理配置漂移的能力的方法、系统和计算机程序产品。可通过创建 配置基线来定义所希望的配置。配置基线可包括有关配置规则的集合。例如, 用于安全性的配置基线可能包括与安全性问题有关的配置规则,诸如此类。配 置基线可由计算机管理员或由软件供应商或其他用户来定义。通常计算机管理 员将软件安装在他的计算机上,以及通过调整多个设定值来调谐该软件用于他 自己的需求。软件供应商定义的配置基线在这种情况下可能没有用,因为软件 供应商不能预测管理员可能改变哪些值。跟踪改变的设定以及寻找设定的位置 用于定义新配置基线可能是乏味的。

根据本文所公开的主题的各方面,用户可定义包括一个或多个预定义的配 置规则的配置基线。配置规则可被定义成使得用户的检查受管计算机的顺应性 的意图被捕捉。配置规则可与配置设定相关联,且可定义配置设定的目标类型、 有效性和补救。

配置设定可以是任何感兴趣的设定(如注册表值的名称、诸如版本或修改 日期之类的文件属性的名称、程序元素属性的名称等等)。目标类型定义设定 所影响的受管实体的类型(例如程序或应用,诸如但不限于SQL服务器、IIS 服务器、数据库、服务、网站、操作系统等)。以更有粒度的级别定义目标类 型(例如以SQL服务器或IIS服务器级而不是以诸如计算机级之类的更少粒度 的级别定义目标)在许多方面有帮助。例如,由于目标类型被指定,如果某一 计算机不具有该受管实体,则不需要就该配置规则来评定该计算机。此外,可 在更有粒度的级别,即在受管实体的级别,报告配置漂移。例如,配置漂移报 告可报告例如某一计算机上的SQL服务器被错误配置但IIS服务器没有,而不 是报告该计算机上的某物被错误配置。

有效性定义设定的所希望的值或值范围(如大于2,等于11/23/2009等), 使得可确定某一设定在某一机器或一组机器上的顺应性或非顺应性。补救定义 运行来将设定变成或返回到其所希望的值(如有效性中定义的)的一组命令。 根据本文所公开的主题的各方面,可通过读取现有计算机的配置来创建配置基 线。例如,以所希望的方式配置的某一计算机的配置可被读取并用于创建用于 其他计算机的配置基线。软件供应商定义的配置基线可通过软件来更新,该软 件读取预配置的计算机并适当地修改供应商定义的基线,以为该软件的新实例 创建配置基线。配置基线、规则和设定可被存储在配置数据库中。

一旦配置基线被定义,定义的配置可被分配给一组计算机。周期性地、根 据时间表、或按需,可对照所分配的配置基线来评估组中的每个计算机或组中 的计算机的子集。如果该评估确定某一计算机关于某一设定具有不匹配配置规 则中关于同一设定所指定的值的值,则该计算机被确定为偏离所希望的配置。 本文所公开的主题的各方面使得用户能够就顺应性来检查一个或多个数据中 心计算机,并警告用户顺应性漂移。

当某一计算机的配置偏离该计算机的基线配置时,则发生了配置漂移。当 该计算机被确定为就某一配置规则而言偏离所希望的配置,则计算机管理员可 就该配置规则对该计算机执行补救动作。补救动作运行为补救而指定的该组命 令以就该配置规则而言为该计算机去除配置漂移。补救可对同一计算机就多个 配置规则来执行。根据本文公开的主题的各方面,补救可以受控的方式被执行。 例如,管理员可选择在计算机的下一维修窗口自动地执行补救,使得例如计算 机的用户不被影响。替代地,管理员被提供了按需(实质上立即)执行补救的 选项。

可从配置基线生成管理包。管理包可包括用户指定的意图模型,该意图模 型便于顺应性策略的生成以及对照所生成的顺应性策略对受管计算机的评估。 管理包可被发送到受管计算机,使得受管计算机上的策略处理引擎可基于当前 状态(如设定的实际值)和用户指定的意图模型来生成顺应性报告,并可显示 意图的或预期的值。以计划的方式或按需的方式,可就顺应性对照一个或多个 定义的配置基线来检查数据中心中的受管计算机。对于按需扫描,系统使得用 户能够针对数据中心中的特定受管计算机选择性地运行预定义的配置基线或 配置规则。即使在缺乏配置漂移的情况下,系统也向用户提供扫描信息,该扫 描信息可包括感兴趣的设定的预期的值、该设定的实际值、上次扫描时间以及 扫描本身的状态(例如扫描是否在进行中,或扫描是失败还是成功)。

可以分布式方式计算顺应性状态。也就是说,不是在数据中心管理计算机 评估顺应性,而是每个受管计算机可运行对照其当前状态来评估配置策略的顺 应性策略处理引擎。所有补救任务,即从配置漂移进行恢复的任务,可在数据 中心管理计算机上安排。补救任务状态(计划的、进行中的、完成的或失败的) 可被设置为配置规则上的状态。

配置基线可与服务模板内的机器层级模板的特定实例或与所有实例相关 联。这允许对包括用于每个新供应的机器的有效性和补救的配置规则的应用, 这些新供应的机器正作为模板部署的一部分或在一层机器的横向扩展期间被 部署。补救可被计划或可按需被执行。可在三个阶段中执行受指导的顺应性活 动。这三个阶段是扫描设定、执行顺应性扫描、以及报告顺应性信息。这三个 阶段中的每一个可被独立地建模,使得感兴趣的不同设定可被用于各个阶段。

管理配置漂移

图1示出了根据本文公开的主题的各方面的用于管理配置漂移的系统100 的示例。系统100的全部或某些部分可以驻留在诸如下面参考图5所描述的计 算机之类的一个或多个计算机上。替代地,系统100或其一些部分可以作为独 立系统或作为插件或附加件来提供。系统100的全部或一些部分可驻留在数据 中心系统中心计算机上。系统100的全部或一些部分可驻留在受管计算机上。

系统100所管理的计算机可包括一个或多个物理机、一个或多个虚拟机、 或物理机和虚拟机的任何组合。在图1中,受管计算机140表示物理机122。 受管计算机134表示虚拟机主机120,而受管主机计算机132主控两个虚拟客 机,即客136和客138。虚拟机(VM)是像物理机一样执行程序的计算机的软 件实现。在数据中心虚拟化中,在应用和底层服务器、存储和网络基础结构之 间创建抽象层。虚拟机可允许底层物理机资源在不同虚拟机之间被共享。虚拟 化可从多个物理实体创建一个逻辑实体,或可从包括计算、存储、网络或应用 资源的一个物理实体创建许多逻辑实体。

每个虚拟机可运行其自己的操作系统。提供虚拟化的软件层被称为虚拟机 监视器或管理程序。管理程序可直接在硬件上或在操作系统之上运行。在虚拟 机环境中,多个操作系统环境可共存在同一计算机上,但保持彼此隔离。虚拟 机可包括一组电子文件,该组电子文件作为另一物理主机计算机系统的界限内 的一额外的不同计算机系统来操作。

系统100可包括诸如计算机102等一个或多个计算机。该一个或多个计算 机可包括以下的一个或多个:处理器(诸如处理器142)、诸如存储器144等 存储器、以及用于管理一个或多个计算机上的配置漂移的一个或多个模块。也 可以包括本领域已知的其他组件,但此处未示出。将理解,用于管理配置漂移 的一个或多个模块可被加载到存储器144中以使得诸如处理器142等一个或多 个处理器执行归因于用于管理配置漂移的一个或多个模块的动作。用于管理配 置漂移的一个或多个模块可包括诸如配置管理器106之类的配置管理器。配置 管理器106可包括诸如配置服务108之类的配置服务以及诸如补救服务110之 类的补救服务。

配置管理器106和补救管理器110可与如上所述的许多计算机(物理的或 虚拟的、主机或客机)通信。根据本文所公开的主题的各方面,用于一受管计 算机或一组计算机的配置信息可在诸如计算机102之类的数据中心系统中心计 算机上输入。配置基线可被创建,且配置基线可被分配给一目标计算机或一组 目标计算机(受管计算机)。可通过创建一组配置规则112等来创建配置基线。 配置基线可被存储在诸如数据存储104之类的配置数据存储中。

可通过选择诸如配置设定112a之类的特定设定以及为该设定提供值、值 列表或值范围来创建诸如配置规则112之类的配置规则。诸如有效性112b之 类的有效性算法可被创建,该有效性算法可确定分配的值是否顺应于可接受的 值或值列表/范围。配置规则还可包括对诸如目标112c之类的目标类型的指定。 例如,目标类型可以是任何的受管实体,包括但不限于程序、应用、服务、数 据库、网站、操作系统等。目标系统或目标计算机的组可被指定。配置规则可 包括要被采取来将设定返回到所希望的值的动作或一组动作。将一个或多个设 定返回到所希望的值或多个值的过程被称为补救。补救112d在图1中表示这 些动作。

用于该设定的所希望的值可由用户,或者通过从某一受管计算机(例如从 受管计算机134或从受管计算机132或从受管计算机140等)获得该设定的值 来分配给该设定。还可指定警告规则,该警告规则描述如何传递非顺应的值以 及向谁递送该警告。也可将由112e表示的其他信息添加到配置规则。诸如配置 规则112等之类的一组配置规则可被创建并收集到一个或多个配置基线中,如 配置基线114。配置基线可被分配给诸如目标计算机116之类的一个或多个目 标计算机。配置基线、规则和目标组可被存储在配置数据存储或数据库(如数 据存储104)中。

上述信息可被收集并用于生成诸如管理包118之类的管理包。管理包可标 识信息被发送到的位置以及可描述如何运行将确定某一受管计算机是否是顺 应的测试。诸如配置服务108之类的配置服务然后可将管理包(如管理包118) 分布到配置基线的目标中所标识的计算机。

诸如受管计算机134之类的受管计算机上的诸如健康服务126之类的健康 服务可操作来运行用于管理包中所描述的配置的任务。管理包中所描述的任务 中所包括的可以是生成顺应性策略。诸如顺应性策略处理器128之类的顺应性 策略处理器可确定受管计算机(如受管计算机134)是否顺应于一个或多个配 置基线。可生成诸如但不限于关于图3和4所示且下文更充分描述的报告之类 的报告。报告可被显示在监视器或其他显示设备上,或可被打印。报告可包括 关于一个或多个设定可被设置成的建议值的信息。将理解,若干程序可使用相 同的一个或多个设定。在此情况下,规则可被组合,使得建议值顺应于不止一 个应用的要求。例如,一个应用可指定某一设定的值大于3,而第二应用可指 定该设定的值小于7。顺应性报告可建议该设定的值应被设为4、5或6。而且, 顺应性报告可提议某一选择,如5。

包括配置漂移信息的顺应性结果可被发送到数据中心系统中心计算机或 由数据中心系统中心计算机检索,并可被存储在诸如顺应性数据存储124之类 的顺应性数据存储中。补救可被立即地(按需)或安排在将来时间(例如在下 一维护窗口期间)自动地执行。相反,可向用户通知对补救的需求,且补救可 被手动地执行。包括计算机的顺应性状态以及用户采取的动作两者的信息可被 呈现给用户。例如,指示出某一计算机上的一应用的某一实例对于某一规则并 不顺应且已计划在下一维护窗口补救或还未计划补救的信息可被呈现给用户。

一段时间上已完成的所有补救可被保留或存储在诸如补救数据存储105之 类的补救数据存储中,使得如果另一类似系统或实例被添加,则所有保留的补 救可被应用于该新系统。假设例如某一机器曾使用预创建的操作系统映像来设 立,且接着向该机器应用了补救。如果同一映像被用于部署另一系统,则补救 所做出的改变会被丢失。根据本文所公开的主题的各方面,做出的所有补救都 被保留。当操作系统映像被用于部署另一系统时,所保留的补救被应用于该新 系统,消除了配置漂移。

图3是可被产生的顺应性报告的示例。图3表示公司Woodgrove IT(WG IT 302)的顺应性报告,该公司有两个场所,一个在纽约(纽约304)而另一个在 旧金山(旧金山306)。纽约场所具有三组机器,开发组(开发308)、生产 组(产品310)以及分段运输组(分段312)。在该示例中,用户已选择了机 器的生产组(在标题“搜索生产”314中反映)来接收报告。报告的体316中 列出的机器表示纽约场所中的生产机器。可从报告中看到具有标识符 C1_NEWYORKPROD(C1_纽约生产)318的计算机是顺应的320,而标识符 COMPUTER2_NYP2(计算机2_纽约生产2)322是非顺应的324。而且,顺 应性报告300示出哪类基线是非顺应的。

在图3中,补丁基线326是非顺应的328。除了非顺应332的 Computer5_ NYP2 330之外,报告中所列出的所有其他计算机都是顺应的。选 择Computer5_ NYP2 330可导致Computer5_ NYP2 330的顺应和非顺应应用基 线的列表。因此该报告可提供关于某一给定计算机或一组计算机的与和那些计 算机相关联的配置基线顺应还是非顺应的状态的信息。如果某一计算机或一组 计算机不是顺应的,则该报告可提供标识哪些机器是顺应的而哪些机器是非顺 应的,以及对于配置基线内的那个规则或哪些规则该机器是非顺应的信息。所 呈现的其他信息可包括但不限于上一次扫描的时间和日期334以及下一计划扫 描的时间和日期336。

图2示出了根据本文公开的主题的各方面的用于管理配置漂移的方法200 的示例。所描述的方法或其某些部分可由上述关于图1所述的系统100或其某 些部分来执行。在202,可定义设计意图。

配置计算机不仅仅是选择设定和给该设定分配值。它可能是有挑战的任 务。首先,所涉及的设定的纯数量是有挑战的。在任一计算机上,存在非常大 量的可能设定。可能设定的数量可能相当超出用户能够管理的数量,且可能甚 至超出自动化系统能够验证的数量。那些设定中的每一个可被分配多个值。根 据本文所公开的主题的各方面,标识特定一组设定用于监控。

其次,应用提供者和用户自己都可能不能有效地创建配置基线。应用供应 商可能知道什么设定影响其应用,但可能不知道该设定的什么值将最有效地在 用户的环境中工作。例如,SQL应用的提供者可能知道该应用的功能依赖于特 定的注册表键,但是不知道在用户的环境中该注册表键将被设置为什么值。类 似地,用户可能不知道什么设定影响他的系统上运行的应用,但可能已经通过 将某些设定的值设置为导致该应用在用户的环境中执行良好的值来适当地调 谐了该系统。根据本文所公开的主题的各方面,可能不知道涉及什么设定以及 所述设定的值是什么的用户可标识出以所希望的方式配置的机器。一自动化的 特征可读取执行良好的机器的设定,而来自所标识的机器的设定的值可被用于 创建基线配置或其一部分。从所标识的机器读取的值和设定可包括操作系统设 定或应用级设定。所创建的基线配置可被用于评定服务的新实例或新机器的顺 应性。

最后,除了上述挑战之外,另一挑战是设定之间可能存在相关性或多重相 关性。也就是说,任何给定设定可能由不止一个程序或应用使用。因此,在改 变一个设定的值的过程中,用户可能以不利的方式影响另一程序或应用的运 行。例如,假设某一设定由应用A和应用B两者使用。如果用户对应用A改 变了该设定,应用B可能需要被重启,因为应用B预期在其整个执行期间不改 变的值已经意想不到地改变了。将理解,这仅仅是应用之间的相关性如何影响 配置管理的一个示例。因此,根据本文所公开的主题的各方面,一自动化的特 征可确定受设定值改变影响的应用,并可自动地重启任何受影响的程序或应 用。

而且,如果不止一个程序依赖于某一设定,且第一程序依赖于某一设定的 值在第一范围内而第二程序依赖于该设定的值在第二范围内,则一自动化的特 征可组合这些规则来确定对第一程序和第二程序两者都起作用的某一值。例 如,该自动化的特征可确定该设定的同时处于第一范围和第二范围中的值。将 理解,尽管在上述示例中有共同使用某一设定的两个程序,但是该自动化的特 征不限于两个应用:可评估任何数量的应用值范围,以确定对所有或大多数应 用都起作用的值。可生成有效性,来确认受该设定影响的所有程序。该自动化 的特征可调整任何受影响的配置规则。

替代地,要被配置的设定可被选择,且可为该设定选择值。通过使用供应 商的模型设定,或通过以供应相的模型设定为开始并通过读取另一机器的设定 以及改变供应商的模型设定以匹配来修改供应商的模型设定,可定义配置设 定。如上所述,配置规则可包括配置设定、有效性、目标类型以及补救配置漂 移的一组动作(补救)。根据本文所公开的主题的各方面,每个规则的目标类 型可在受管实体的级别处定义,如在应用、程序或操作系统粒度级。例如,用 户可指定与某一规则相关联的目标是诸如但不限于SQL服务器、Exchange服 务器或应用A等之类的特定应用、是诸如但不限于IIS网站之类的网站、是诸 如但不限于SQL数据库之类的数据库等等。以该粒度级定义的目标允许如上所 述的更富有信息的报告,以及还允许如下文更充分描述的更有针对性的评定。

在204,某一机器或一组机器可就与用于该机器或该组机器的配置基线的 顺应性来被评估。用户可控制哪个机器或哪组机器被评估。用户可控制对哪个 配置规则来评估某一机器或一组机器。对评定的计划安排可以被控制,或者替 代地,可立即按需执行评定。因为目标是在受管实体的级别定义的,评定过程 是简化的,因为仅具有目标应用或程序的机器被评定。例如,如果机器A的配 置基线中的某一配置规则仅对某一设定指定某一类型的电子邮件应用的目标 类型,且机器A上不具有该类型的电子邮件应用,则该设定不需要在该机器上 被评估。

在206,关于评定的信息可被呈现给用户。该信息可采用打印报告或显示 等的形式被呈现。因为目标是在受管实体的级别定义的,被呈现给用户的该信 息可能是更富有信息的。例如,不是仅报告某一机器不顺应配置基线,呈现给 用户的该信息还可包括不顺应的特定应用或程序,如上关于图3所述。

在208,可执行补救。补救涉及被执行来纠正配置漂移的该组活动,使得 被补救的机器返回到与配置基线顺应的状态。补救可人工地执行或可自动地执 行。补救可在一个或多个计算机(如仅在所选的计算机或一组计算机)上执行。 补救可被仅限于与一个或多个计算机上的一个或多个所选配置规则相关联的 设定。如果某一机器已被确定为漂移了,则用户可选择来自动地执行补救,或 者用户可选择人工地执行补救。如果用户选择自动补救,则自动补救可被立即 执行或可在机器的下一维护窗口中执行。如果例如某一机器服务于许多用户, 在维护窗口中执行补救可确保该系统在用户想要使用它的时候是运行的。

在210,可从现有操作系统映像没有漂移地创建应用、程序、应用组、操 作系统或机器的新实例。根据本文所公开的主题的各方面,被应用的任何补救 被保留,并在新实例被创建时被使用。

图4是可被生成的报告400的示例。报告400显示出读取所选计算机(所 选计算机402)的配置的结果。对于每个规则(如规则1404至规则4406), 报告示出状态(如规则已被成功读取408或规则准备好读取410)以及有效性 规则(如等于5412)。在图4中,所选计算机402可表示是用于新实例的创 建的模型的计算机。一自动化的特征可联系所选计算机,并可读取配置基线中 定义的每个设定的值。该配置基线可被按需应用于其他服务器。有效性规则列 (对于规则1404是等于5412)指示出所选计算机402上相应规则的配置设定 的值。每个规则可指向一不同计算机。例如,规则1可被设置为指向计算机1, 而规则2可被设置为指向计算机2,对于配置基线中的每个规则以此类推。作 为响应,对于规则1的配置设定,将从计算机1读取配置设定,而对于规则2 的配置设定,将从计算机2读取配置设定。这使得用户能够从多个机器创建配 置基线的各部分。也就是说,可从对诸如SQL应用之类的第一目标良好配置的 一个机器、对诸如操作系统之类的第二目标良好配置的第二机器、对另一应用 良好配置的第三机器等的组合来创建配置基线。

合适的计算环境的示例

为了提供有关本文所公开的主题的各个方面的上下文,图5以及以下讨论 旨在提供其中可以实现各实施例的合适的计算环境510的简要概括描述。尽管 本文所公开的主题是在诸如程序模块等由一个或多个计算机或其它计算设备 执行的计算机可执行指令的通用上下文中描述的,但本领域技术人员将认识 到,本文所公开的主题的各部分还能够结合其它程序模块和/或硬件和软件的组 合来实现。通常,程序模块包括执行特定任务或实现特定数据类型的例程、程 序、对象、物理人为产物、数据结构等。通常,程序模块的功能可在各个实施 例中按需进行组合或分布。计算环境510只是合适的操作环境的一个示例,并 且不旨在对此处所公开的主题的使用范围或功能提出任何限制。

参照图5,描述了计算机512形式的用于线性栈上高效恢复协同例程的计 算设备。计算机512可包括处理单元514、系统存储器516和系统总线518。 处理单元514可以是各种可用处理器中的任何一种。也可以使用双微处理器及 其他多处理器体系结构作为处理单元514。系统存储器516可包括易失性存储 器520和非易失性存储器522。非易失性存储器522可包括只读存储器(ROM)、 可编程ROM(PROM)、电可编程ROM(EPROM)或闪存。易失性存储器520 可包括可充当外高速缓冲存储器的随机存取存储器(RAM)。系统总线518将 包括系统存储器516的系统物理人为产物耦合到处理单元514。系统总线518 可以是几种类型的总线结构中的任何一种,包括存储器总线、存储控制器、外 围总线、外总线或局部总线,并且可以使用各种可用总线体系结构中的任一种。

计算机512通常包括各种计算机可读介质,诸如易失性和非易失性介质、 可移动和不可移动介质。计算机存储介质可以通过用于存储诸如计算机可读指 令、数据结构、程序模块或其它数据等信息的任何方法或技术来实现。计算机 存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、 CDROM、数字多功能盘(DVD)或其它光盘存储、磁盒、磁带、磁盘存储或 其它磁存储设备、或可以用来储存所期望的信息并可由计算机512访问的任何 其他非瞬态介质。

将理解,图5描述了可充当用户与计算机资源之间的媒介的软件。该软件 可以包括可存储在盘存储524上的操作系统528,该操作系统可控制并分配计 算机系统512的资源。盘存储524可以是通过诸如接口526的不可移动存储器 接口连接到系统总线518的硬盘驱动器。系统应用530利用由操作系统528通 过存储在系统存储器516或者存储在盘存储532上的程序模块534和程序数据 934对资源的管理。可以理解,计算机可用各种操作系统或操作系统的组合来 实现。

用户可通过输入设备536向计算机512输入命令或信息。输入设备536包 括但不限于定点设备,诸如鼠标、跟踪球、指示笔、触摸垫、键盘、话筒等。 这些及其他输入设备通过系统总线518经由接口端口538连接到处理单元514。 接口端口538可表示串行端口、并行端口、通用串行总线(USB)等。输出设 备540可与输入设备使用相同类型的端口。提供输出适配器542以举例说明存 在像监视器、扬声器、以及打印机的需要特定适配器的一些输出设备540。输 出适配器542包括但不限于,在输出设备540和系统总线518之间提供连接的 视频卡和声卡。其他设备和/或设备系统,诸如远程计算机544,可提供输入和 输出两种能力。

计算机512可以使用到诸如远程计算机544之类的一个或多个远程计算机 的逻辑连接来在联网环境中操作。远程计算机544可以是个人计算机、服务器、 路由器、网络PC、对等设备或其它常见的网络节点,并且通常包括许多或所有 以上相对于计算机512所描述的元件,尽管在图4中仅示出了存储器存储设备 546。远程计算机544可经由通信连接550逻辑地连接。网络接口548涵盖诸 如局域网(LAN)和广域网(WAN)这样的通信网络,但也可包括其他网络。 通信连接550是指用来将网络接口548连接到总线518的硬件/软件。连接550 可以在计算机512内或外并且包括诸如调制解调器(电话、电缆、DSL和无线) 和ISDN适配器、以太网卡等内和外技术。

可以理解,所示网络连接仅是示例,并且可以使用在计算机之间建立通信 链路的其它手段。本领域的普通技术人员可以理解,计算机512或其它客户机 设备可作为计算机网络的一部分来部署。在这一点上,本文所公开的主题涉及 具有任意数量的存储器或存储单元以及在任意数量的存储单元或卷上发生的 任意数量的应用和进程的任何计算机系统。本文所公开的主题的各方面可应用 于具有部署在网络环境中的具有远程或本地存储的服务器计算机和客户计算 机的环境。本文所公开的主题的各方面也可应用于具有编程语言功能、解释和 执行能力的独立计算设备。

本文所述的各种技术可结合硬件或软件,或在适当时以其组合来实现。由 此,本文所公开的方法和装置或其特定方面或部分可采取包含在诸如软盘、 CD-ROM、硬盘驱动器或任何其它机器可读存储介质等有形介质中的程序代码 (即,指令)的形式,其中当程序代码被加载到诸如计算机等机器内并由其执 行时,该机器成为用于实现本文所公开的主题的各方面的装置。在程序代码在 可编程计算机上执行的情况下,计算设备通常将包括处理器、该处理器可读的 存储介质(包括易失性和非易失性的存储器和/或存储元件)、至少一个输入设 备、以及至少一个输出设备。可例如通过使用数据处理API等来利用域专用编 程模型各方面的创建和/或实现的一个或多个程序可用高级过程编程语言或面 向对象的编程语言来实现以与计算机系统通信。然而,如果需要,该程序可以 用汇编语言或机器语言来实现。在任何情形中,语言可以是编译语言或解释语 言,且与硬件实现相结合。

虽然已结合附图描述了本文所公开的主题,但是应理解,可作出修改以按 不同方式执行相同功能。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号