应用程序改变的状态分离的制作方法

文档序号:6594369阅读:222来源:国知局
专利名称:应用程序改变的状态分离的制作方法
应用程序改变的状态分离
背景技术
应用程序可用许多不同的方式来修改。在某些情况下,应用程序可通过更新注册 表、修改配置文件、更新动态链接库、或其他机制来修改。对应用程序的每一改变可影响操 作系统的各部分,这可进而影响在操作系统环境中执行的其他应用程序。

发明内容
应用程序状态可使用策略来存储和检索,这些策略定义了在其中使用该应用程序 的各种上下文。应用程序状态可定义该应用程序的配置或使用,包括到其他应用程序的连 接和与其他应用程序的交互。被虚拟化的应用程序可具有在使用上下文中所定义的状态, 且可基于使用上下文来存储和回想的多个状态或配置。策略可定义该上下文以及要保存什 么参数,并且可在以虚拟化方式来操作应用程序时被应用。提供本发明内容是为了以简化的形式介绍将在以下具体实施方式
中进一步描述 的一些概念。本发明内容并不旨在标识出所要求保护的主题的关键特征或必要特征,也不 旨在用于限定所要求保护的主题的范围。


在附图中图1是示出用于基于应用程序的上下文来存储不同的配置的系统的实施例的示 图。图2是示出用于与不同的上下文配置一起操作的方法的实施例的流程图。
具体实施例方式应用程序可在不同的状态或配置中操作。一个这样的机制是通过应用程序虚拟 化。当针对特定上下文来配置应用程序时,配置信息可被保存并被回想以供稍后使用。应 用程序可被配置成在许多不同的状态中操作,并且一组策略管理该配置。应用程序所执行的状态可包括操作系统配置、各种其他应用程序的存在和操作、 通过网络或其他连接所访问的服务的配置、以及许多其他因素。对于不同的状态,应用程序 的配置和操作可以是不同的。例如,某些应用程序可与其他应用程序具有共生关系。应用程序的行为或性能其 自己可与具有另一集成应用程序的应用程序的行为或性能不同。在这一示例中,可为在单 独操作状态中的应用程序定义配置,并且当第二共生应用程序存在且操作时可为该应用程 序定义单独的配置。在典型的实施例中,应用程序可在虚拟环境中操作。该虚拟环境可以能够基于特 定上下文接受不同组的配置设置。在某些情况下,虚拟环境可以是虚拟机环境。在其他情 况下,虚拟环境可以是虚拟应用程序环境。出于本说明书和权利要求书的目的,应用程序配置可以指设置或配置应用程序的方式。应用程序配置可包括可被改变或设置的任何元素,包括影响该应用程序的性能、功 能、外观或其他可操作的特征的那些元素。出于本说明书和权利要求书的目的,应用程序状态可以指在其中执行应用程序的 上下文。该状态可包操作系统、以及该操作系统的任何设置或配置、或所安装或执行的任何 应用程序。该状态可包括可与该应用程序交互的任何其他元素的条件和配置,包括硬件组 件、通过网络可用的服务、其他执行的应用程序、外围设备、以及任何其他项目。出于本说明书和权利要求书的目的,应用程序上下文可以是应用程序状态的类 别。尽管该状态可包括可影响应用程序的任何变量,但上下文可以是可用于分类并且存储 配置的宽泛的类别。例如,可为会话、虚拟应用程序环境、虚拟机环境、用户专用上下文、机 器专用上下文、用户组或机器组专用上下文、其中两个或多个交互应用程序互操作的上下 文、以及其他上下文定义上下文。本说明书通篇中,在所有附图的描述中,相同的附图标记表示相同的元素。在将元素称为“连接”或“耦合”的时候,这些元素可以直接连接或耦合在一起,或 者也可以存在一个或多个中间元素。相反,在将元素称为“直接连接”或“直接耦合”的时 候,不存在中间元素。本发明可被具体化为设备、系统、方法、和/或计算机程序产品。因此,本发明的部 分或全部能以硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。 此外,本发明可以采用其上包含有供指令执行系统使用或结合其使用的计算机可使用或计 算机可读程序代码的计算机可使用或计算机可读存储介质上的计算机程序产品的形式。在 本文的上下文中,计算机可使用或计算机可读介质可以是可包含、存储、传递、传播、或传输 程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、 或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可以包括计算 机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其 他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算 机存储介质包括,但不限于,RAM、ROM、EEPR0M、闪存或其他存储器技术、CD-ROM、数字多功能 盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所 需信息且可以由指令执行系统访问的任何其他介质。注意,计算机可使用或计算机可读介 质可以是其上打印有程序的纸张或另一合适的介质,因为程序可以经由例如对纸张或其他 介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并 随后存储在计算机存储器中。通信介质通常体现诸如载波或其他传输机制等已调制数据信号中的计算机可读 指令、数据结构、程序模块或其他数据,并包括任何信息传递介质。术语“已调制数据信号” 指的是其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非 限制,通信介质包括有线介质,如有线网络或直接线连接,以及诸如声学、射频(RF)、红外线 及其他无线介质之类的无线介质。上述中任一组合也应包括在计算机可读介质的范围之 内。当本发明在计算机可执行指令的一般上下文中具体化时,该实施例可以包括由一个或多个系统、计算机、或其他设备执行的程序模块。一般而言,程序模块包括执行特定任 务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。通常,程序模块的功能 可以在各个实施例中按需进行组合或分布。图1是示出具有状态分离和管理系统的系统的实施例100的示图。实施例100是 可基于应用程序的上下文或状态来存储和管理该应用程序的配置的系统的示例。图1的示图示出系统的各个功能组件。在某些情况下,组件可以是硬件组件、软件 组件、或硬件和软件的组合。某些组件可以是应用层软件,而其他组件可以是操作系统层组 件。在某些情况下,一个组件到另一个组件的连接可以是紧密连接,其中两个或更多个组件 在单个硬件平台上操作。在其他情况下,连接可以通过跨长距离的网络连接来进行。各实 施例可以使用不同的硬件、软件、以及互连体系结构来实现所描述的功能。实施例100是可构成应用程序的多状态执行系统的功能元素的示例。应用程序 102的不同配置104可基于应用程序要在其中执行的上下文来在执行系统106中执行。各种实施例可具有可为应用程序执行的不同级别的配置。例如,在操作系统环境 中安装并且执行的应用程序可具有定义配置的一组配置文件。不同的一组配置文件可用于 基于与配置文件相关联的上下文来启动应用程序102。在另一示例中,应用程序可在虚拟环境中执行,并且除了先前示例的配置文件之 外,注册表设置、动态链接库、以及许多其他配置元素可在上下文之间变化。这样的虚拟环 境可以是虚拟机环境或虚拟应用程序环境。当使用虚拟环境来执行应用程序时,非常宽泛 且丰富的一组配置元素可以在上下文之间变化。应用程序102可以是在计算环境中执行的任何类型的可执行程序或程序集、服 务、或其他操作。在许多情况下,应用程序可具有可执行元素的集合,诸如可在操作系统环 境中直接执行或在应用程序环境中执行的文件,诸如脚本、子例程、库、或其他组件。许多应用程序102可结合其他应用程序或服务来操作。例如,应用程序102可与 通过因特网访问的web服务一起操作。在这一示例中,应用程序可执行某些操作,并且web 服务可执行其他操作以便传送用户体验。在另一示例中,应用程序102其自己可操作、或可与“插件”的另一应用程序一起 操作、或至少部分地与第一应用程序集成。一示例可以是诸如文字处理程序等当文档发布 应用程序操作时可显示工具栏、菜单项、或到文档发布应用程序的其他链接的应用程序。当 文档发布应用程序不可用时,文字处理应用程序可具有一个用户界面,但当文档发布应用 程序可用时,文字处理应用程序可具有可用的第二用户界面和第二组功能。在这一示例中,应用程序102可具有为在单独操作时的状态或上下文定义一个配 置104,以及为在与第二应用程序一起操作时的第二状态或上下文定义的第二配置104。可 结合一组策略110使用改变监视系统108来分开地定义和管理每个配置104。改变监视系统108可检测并存储对应用程序配置104的改变。改变监视系统108 可检测改变、将改变分类、并且确定改变是否适用于在其中应用程序102正执行或将执行 的一个或多个上下文。可以在策略110中定义对如何分类改变和上下文以及如何部署改变 的定义。实施例100示出了分开的应用程序102和一组配置104。在某些实施例中,配置 104可被存储为可在默认配置上实现的一组文件或设置,这些默认配置可在应用程序102中定义。在这些实施例中,配置104可被看作源自默认的“ Δ (delta),,文件或一组改变。在其他实施例中,应用程序可被定义为包括配置104中的一个的包。可为每一配 置创建不同的应用程序包。这些实施例可用于其中配置中的设置是普遍的情形下或其中当 启动应用程序时使用配置改变的情形下。这些配置改变的一示例可以是定义应用程序在初 始启动期间使用的选项的注册表设置。执行系统106可以是任何环境、工作空间、或能够执行应用程序102的机制。在某 些实施例中,执行系统106可以是包括例如改变监视系统108等许多其他应用程序和服务 在其中操作的操作系统环境。在一些实施例中,执行系统106可以是诸如虚拟机或虚拟应 用程序环境等虚拟环境。在另外一些实施例中,执行系统106可以是执行应用程序102的 分开的硬件平台。实施例100的体系结构可以是任何类型的计算体系结构。在一些实施例中,在实 施例100中所示出的组件中的许多可在诸如个人计算机或服务器计算机等单个硬件平台 上执行。在其他实施例中,组件中的一些可在一个硬件平台上执行,而其他组件可在分开的 硬件平台上执行。一些此类实施例中可使用许多不同的硬件平台来实现实施例100。这些 实施例可被称为跨机器的配置。在一些跨机器的体系结构中,实施例100的组件中的一些可被实现为虚拟机或在 虚拟应用程序环境中操作。虚拟机可以是硬件平台的软件模拟,并且可包含操作系统,且可 如同虚拟机是分开且专用的硬件平台那样来工作。应用程序虚拟化可创建所有共享资源的应用程序专用副本。每一应用程序可具有 诸如注册表项、动态链接库、以及可与应用程序一起被打包的其他对象等潜在可能的共享 资源的单独的配置。该包可在高速缓存中执行,从而创建虚拟应用程序。当虚拟应用程序 被部署,它可使用其自己的这些共享资源的副本。上下文管理器112可确定在其中应用程序正在操作或将操作的上下文。上下文管 理器112可监视应用程序102可能可用的许多不同资源的存在、配置、以及其他参数。上下 文管理器112可确定可被改变监视系统108用来适当地存储配置的应用程序的状态。上下 文管理器112还可定义可基于状态或上下文在各种配置104之间选择的应用程序启动器 126的状态。上下文管理器112可以是持续地监视系统的各种方面的应用程序或服务。在一些 实施例中,这一上下文管理器112可在单个硬件平台上操作,并且监视各种状况。硬件平台 可以是可在其上执行应用程序102的相同的硬件平台。在其他实施例中,上下文管理器112 可以是距在其上执行应用程序102的硬件平台远程地操作的服务。上下文管理器112可收集关于应用程序正被操作或将被操作的状态的各种信息、 元数据、和参数。上下文管理112可收集在策略110中可使用的任何相关信息来以不同方 式处理配置。不同的实施例可收集不同组的信息和元数据来确定当前状态。上下文元数据的示例可包括存在或不存在什么虚拟应用程序114、各种虚拟机 116的存在、操作系统118的存在和配置、各种其他应用程序120和网络服务122的存在和 配置、以及其他状态信息124。其他状态信息可以是在其中操作应用程序的会话、一组用户 或设备中的成员资格、或其他参数。其他状态信息IM可包括关于会话的信息,该信息可包括关于会话的元数据。例如,状态信息1 可包括可以是连接两个或多个专用设备或用户的会话、或连接两个或多 个通用设备或用户的会话的类型的会话。会话元数据还可包括各种连接参数,诸如在会话 中使用的协议、或用于建立会话的地址或端口。在某些实施例中,应用程序可创建与其他应 用程序或服务的若干不同类型的会话,并且会话的存在、缺少、或配置可被定义为应用程序 的上下文的一部分。其他交互式组件的存在和配置可定义应用程序的上下文的一部分。应用程序102 可与不同容量中的虚拟应用程序114、虚拟机116、应用程序120和网络服务122进行交互。 在一些情况下,应用程序的性能或操作可受到应用程序102外部的各种交互式组件的存 在、缺少或配置的影响。应用程序与其交互的组件的存在、缺少、以及在某些情况下的配置可定义应用程 序的新状态。例如,应用程序可添加或移除其他应用程序或服务的用户界面组件。当另一 应用程序存在并被配置时,第一应用程序可提供链接到或使用由其他应用程序提供的功能 的特定一组用户界面组件或功能。当其他应用程序不存在或被不同地配置时,第一应用程 序可呈现替换的用户界面或功能。应用程序与其交互的组件可以是虚拟组件。在某些情况下,应用程序可使用执行 系统106来被虚拟地执行,而另一应用程序也可被虚拟地执行。由于两个应用程序都是被 虚拟地执行的,因此每一应用程序可操作而无需在默认配置中彼此交互。然而,当两个应用 程序都在操作的时候,每一应用程序可被配置成在每一应用程序之间传递数据、控制或其 他信号。在这一情况下,即使在两个应用程序都是虚拟地且分开地来操作时,每一应用程序 也可具有定义交互点并使得该交互能发生的指定配置104。在这一情况下,两个应用程序都 可以与适当配置同时或顺序地启动,以使得应用程序可进行交互。虚拟组件可呈现与被安装在同应用程序102相同的操作系统内并在其内操作的 组件不同的配置选项。一般而言,虚拟组件可能对其他组件不可知地操作,并且可以用特定 方式被配置成在包括传统操作系统环境或其他虚拟环境的分开的环境中与其他应用程序 交互。上下文可包括操作系统118的各种参数或配置。例如,上下文可包括关于操作系 统的一般信息,诸如操作系统的类型、特定版本、以及关于本地操作系统的其他参数。上下 文还可包括对操作系统环境的添加或改变,诸如注册表设置、诸如动态链接库等文件的存 在和配置、被操作系统用来访问各种硬件外围设备和接口的设置、以及任何其他类型的参数。在一些实施例中,配置104可在启动应用程序时应用。一些实施例还可使得配置 104能够在应用程序开始执行之后被应用于应用程序102。一些实施例可使得某些配置104能够在开始执行之后被应用,而其他配置104可 仅在应用程序启动时被应用。在这些实施例中,两个或多个配置104可被应用于应用程序 102的单个实例。例如,可以定义公司范围的配置,该配置设置应用程序的公司范围的默认 设置。可以应用包含用户专用设置的第二配置,该第二配置可以进一步调整或可以不进一 步调整出于用户的个人偏好的公司范围的配置。在另一示例中,应用程序102可与若干其他应用程序或网络服务进行交互。每一 网络服务或应用程序可以在分开的配置104中被定义,以使得当启动应用程序102时,可应用许多不同的配置104,每一配置使得单独的应用程序或服务能够被访问。应用程序120还可与通过局域网(LAN)、广域网(WAN)或包括因特网的任何其他 网络可获得的各种网络服务122进行交互。在许多情况下,web服务可用于响应于查询和 其他操作或服务来提供数据。可定义配置104用于当web服务或其他网络服务122存在时 执行应用程序102。这一配置可包括各种参数,诸如端口、协议、地址、以及其他通信配置信 息、以及通过应用程序102可获得的配置专用功能。配置104可包括可使得网络服务122在某些实例中能够被访问的用户界面组件、 链接、或其他可配置项目。例如,文字处理程序可使用作为网络服务122所提供的辞典服务。当辞典服务可 用时,文字处理程序可在用户界面中具有到辞典服务的链接,诸如用于访问该辞典服务的 菜单选择。当选择了该辞典服务时,可将查询发送到该网络服务并且接收响应。该响应可 如同辞典服务是文字处理程序的一部分那样在文字处理程序中显示。在这一情况下,用户 可能没有意识到网络服务已被调用。当该辞典服务不可用时,配置104可替换本地版本,或 可使辞典功能不活动、不可见、或以其他方式不可访问。上下文管理器112可定义一上下文,在其中应用程序当前正在操作或打算被操 作。该上下文可结合策略110来使用,以便创建在应用程序启动器1 启动应用程序102 时可以被回想的特定配置104。上下文管理器112还可检测可被应用程序启动器1 用来 选择适当的配置104或配置组104的当前上下文。应用程序在其中执行的上下文可由策略110来定义。上下文可以是状态的分类或 类型。在许多情况下,状态可具有若干上下文。例如,应用程序102可与在虚拟机116上操 作的另一应用程序进行交互,以及与网络服务122进行交互。虚拟机116的存在可定义虚 拟机上下文,以及网络服务的存在可定义启用网络的上下文。在某些情况下,可应用两个或 多个不同的上下文。当多个配置104可被应用于应用程序102的单个实例时,可为特定实例定义多个 独立的上下文。在上述示例中,虚拟机上下文和启用网络的上下文可被分开且独立地定义。当单独的配置104可被应用于应用程序102的实例时,可定义作为若干不同因素 的联合的上下文。在上述示例中,可定义包括虚拟机和启用网络的服务的单个上下文,并且 可创建单个配置104。可为虚拟机(没有启用网络的服务)创建分开的配置,并且可为启用 网络的服务(没有虚拟机)创建分开的配置。策略110可定义上下文的类型以及基于该上下文要如何处理对应用程序配置的 改变。例如,可丢弃某些改变而可保存其它类型的改变。当使用多个独立的配置时,策略可 定义将在一个上下文中存储的一种类型的改变而不是另一种类型的改变。图2是示出用于与上下文依存配置一起操作的方法的实施例200的流程图。实 施例200是可由实施例100的组件执行的各种操作的示例,这些组件包括应用程序启动器 126、上下文管理器112、改变监视系统108、以及执行系统106。其他实施例可以使用不同的序列、更多或更少的步骤、以及不同的命名或术语,来 完成相似功能。在一些实施例中,各种操作或操作集合可以或是以同步方式或是以异步方 式与其他操作并行执行。此处所选的步骤是为了以简化的形式示出一些操作原理来选择 的。CN 102105861 A
说明书
7/8页实施例200示出了用于启动应用程序、检测对该应用程序配置的改变、并且将这 些改变存储在配置存储中以供稍后重用的方法。在框202中可接收启动应用程序的命令。在许多情况下,可由诸如选择图标或在 命令行上输入命令等用户输入发起命令。在其他情况下,启动应用程序的命令可由包括网 络服务的另一应用程序或服务来发起。在框204中可确定该应用程序的上下文。该上下文可以在策略中定义,并且可为 特定上下文创建该应用程序的配置参数集。该上下文可用任何方式来确定。在某些实施例 中,诸如实施例100中的上下文管理器112等上下文管理器可用于确定当前或预期上下文。该上下文可以是当前上下文或预期上下文。当前上下文可通过感测应用程序可与 其交互的各种参数、系统和服务的当前状态来确定。预期上下文可以是当应用程序正在执 行时可存在的上下文。可在连续地或基本上同时地启动可彼此交互的若干应用程序时使用预期上下文。 所启动的应用程序组中的每一应用程序可被配置成与其他应用程序一起操作,但这一上下 文可在所有应用程序已经启动并且已使彼此进行了连接时存在。如果在框206中没有为该上下文定义的配置,则在框208中可选择默认配置。如 果在框206中定义了该上下文的配置,则在框210中可加载该配置。在某些实施例中,可基于该上下文来加载并且应用两个或多个配置。在这些实施 例中,可连续地应用各种配置,且最后所应用的配置能够盖写先前配置的设置。某些实施例可应用优先级方案来确定当多于一个配置设定了参数时可应用哪个 配置的哪些参数。在顺序优先级方案中,所应用的最后的配置可占支配地位。然而,在其他 方案中,可应用不同的度量或规则。这些规则可在一组策略中被定义。一旦定义了配置,在框212中该 应用程序可使用这些配置来执行。在其中使用多个配置的许多实施例中,可在诸如专用虚拟机等虚拟环境中或在应 用程序虚拟化环境中执行该应用程序。与若该应用程序同许多其他应用程序一起在传统操 作系统环境中操作相比,通过对应用程序虚拟化,可按更容易的方式来改变或配置许多设 置。例如,虚拟环境可启用可用其他方式与另一应用程序共享的要为虚拟应用程序所改变 的注册表设置或动态链接库。如果在框214中检测到改变,则可开始用于基于应用程序的上下文来创建或修改 配置设置的过程。在框216中可对该上下文进行分类。在某些实施例中,特定实例可包括若干不同 的上下文,每一上下文具有可与其他上下文独立的一个或少量参数。在其他实施例中,可为 任何情形定义单个上下文,该单个上下文可包含许多不同的参数或描述符。一组策略可定 义这些上下文。在框218中可按类型对该改变进行分类。该改变类型可以是如在策略所定义的改 变的通用分类,以使得可以适当地部署该改变。在框220中对于每一上下文分类,可在以下框中部署该改变。实施例200是其中 对特定情形可存在两个或多个上下文的实施例的示例。在其他实施例中,可定义单个上下 文,并且对该上下文可执行一次该框220的对于-循环(for-loop)。在框222中如果策略没有指定如何处理该类型的改变,则在框224中可应用默认
9策略。否则,可应用当前策略。在框2 中当前策略或默认策略可规定是将被保存还是被忽视。在框2 中,如果 要忽视该改变,则在框230中可不保存该改变。在框226中如果要保存该改变,则在框2 中可针对该上下文更新配置。在框220中对于下一个上下文(若存在一个上下文),则为该下一个上下文继续该 过程。当在框220中已经处理了每一上下文,该过程可返回到框212以便应用程序的进一 步执行。实施例200是可用于确定上下文并且基于该上下文保存对应用程序的改变的过 程的示例。当在相同的上下文中重启应用程序时,可回想该配置,并且该应用程序可符合该 改变来运作。以上对本发明的描述是出于说明和描述的目的而提出的。它不旨在穷举本主题或 将本主题限于所公开的精确形式,且鉴于以上教导其他修改和变型都是可能的。选择并描 述实施例来最好地解释本发明的原理及其实践应用,从而使本领域的其他技术人员能够在 各种实施例和各种适于所构想的特定用途的修改中最好地利用本发明的技术。所附权利要 求书旨在包括除受现有技术所限的范围之外的其他替换实施例。
权利要求
1.一种方法,包括在第一设备上执行应用程序012),所述应用程序具有第一配置和第一状态; 检测对所述应用程序的改变014),所述改变定义第二状态;确定所述第二状态的第一上下文016),所述第一上下文不是用户上下文或机器上下文;引用为所述第一上下文定义的策略022);以及如所述策略中所定义地来基于所述第一上下文存储所述改变(228)。
2.如权利要求1所述的方法,其特征在于,所述上下文包括会话专用上下文。
3.如权利要求1所述的方法,其特征在于,所述上下文包括跨机器上下文。
4.如权利要求3所述的方法,其特征在于,所述跨机器上下文包括至少一个虚拟机。
5.如权利要求1所述的方法,其特征在于,所述应用程序包括多个资源,并且所述改变 影响所述资源中的至少一个。
6.如权利要求5所述的方法,其特征在于,所述多个资源中的一个是第二应用程序。
7.如权利要求5所述的方法,其特征在于,所述应用程序在第一硬件平台上执行,所述 资源中的一个在第二硬件平台上执行。
8.如权利要求5所述方法,其特征在于,所述应用程序在第一虚拟上下文中执行。
9.如权利要求8所述的方法,其特征在于,所述多个资源中的至少一个在第二虚拟上 下文中。
10.如权利要求9所述的方法,其特征在于,所述第一虚拟上下文是应用程序虚拟化上 下文。
11.如权利要求10所述的方法,其特征在于,所述第二虚拟上下文是应用程序虚拟化 上下文。
12.如权利要求10所述的方法,其特征在于,所述第二虚拟上下文是虚拟机上下文。
13.如权利要求8所述的方法,其特征在于,所述第一虚拟上下文是第一虚拟机上下文。
14.一种系统,包括策略(110),所述策略包括基于多个上下文中的至少一个的改变实现; 执行系统(106),所述执行系统被配置成在所述多个上下文中执行第一应用程序; 改变监视系统(108),所述改变监视系统被配置成 确定已经对所述第一应用程序作出了改变; 针对所述改变确定至少一个上下文;存储所述改变,以使得所述改变在所述至少一个上下文是当前上下文时可被实现。
15.如权利要求14所述的系统,其特征在于,所述多个上下文包括由以下各项构成的 组中的至少一个会话专用上下文; 会话类型专用上下文; 跨机器上下文;以及 双重应用程序上下文。
全文摘要
应用程序状态可使用策略来存储和检索,这些策略定义了在其中使用该应用程序的各种上下文。应用程序状态可定义该应用程序的配置或使用,包括到其他应用程序的连接和与其他应用程序的交互。虚拟化的应用程序可具有在使用上下文中所定义的状态,且可基于使用上下文来存储和回想的多个状态或配置。策略可定义该上下文以及要保存什么参数,并且可在以虚拟化方式来操作应用程序时被应用。
文档编号G06F9/06GK102105861SQ200980130465
公开日2011年6月22日 申请日期2009年7月16日 优先权日2008年7月28日
发明者J·M·希恩, K·H·雷厄森 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1