CN102812437A - 高和低值应用状态 - Google Patents

高和低值应用状态 Download PDF

Info

Publication number
CN102812437A
CN102812437A CN2011800123735A CN201180012373A CN102812437A CN 102812437 A CN102812437 A CN 102812437A CN 2011800123735 A CN2011800123735 A CN 2011800123735A CN 201180012373 A CN201180012373 A CN 201180012373A CN 102812437 A CN102812437 A CN 102812437A
Authority
CN
China
Prior art keywords
application
state
value
collection
low
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.)
Granted
Application number
CN2011800123735A
Other languages
English (en)
Other versions
CN102812437B (zh
Inventor
L·A·福克斯曼
N·雅各布森
E·C·朱亚特
A·E·坎利基利塞
J·M·希恩
J·E·东克尔
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN102812437A publication Critical patent/CN102812437A/zh
Application granted granted Critical
Publication of CN102812437B publication Critical patent/CN102812437B/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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

可将软件应用的应用状态中的高值状态集与该应用状态中的低值状态集区分开来。例如,可在应用状态上运行一组试探以在高值状态集和低值状态集之间进行区分。可生成指定集,该指定集将应用状态中的高值状态集指定为高值并将应用状态中的低值状态集指定为低值。在处理应用时,可不同于低值状态地处理高值状态。应用可被打包为虚拟应用。

Description

高和低值应用状态
背景
软件应用通常配有应用状态。如此处所使用的,应用状态是可改变的应用信息。例如,应用状态可包括在非虚拟应用被安装和/或被执行时修订的配置数据,或当虚拟语言被实例化和/或被执行时修订的配置数据。应用状态可以各种方式被处理,诸如在应用的正常执行期间被处理,在备份操作期间被处理,以及在移动或或服务应用时被处理。如此处所使用的,服务指修改应用的一个或多个不同操作,诸如更新应用、升级应用、回退应用升级或补丁、给应用打补丁等。
概述
本申请涉及应用的高和低值状态之间的区分。该区分可产生一个或多个不同的益处和用途,诸如允许高和低值状态被不同地处理。如此处所使用的,高值应用状态,或高值状态,是被标识为更有价值保留以供后续与应用一起使用的应用状态。低值应用状态,或低值状态,是被标识为更少价值保留以供后续与应用一起使用的应用状态。例如,高值状态是这样的状态,其丢失更可能阻止应用如预期那样运行,而低值状态是这样的状态,其丢失可能不被应用及其用户注意。例如,高值状态可包括用户数据、用户偏好,和帐户信息。这样的状态丢失可能导致应用中断,或它可导致应用完全或部分重置到默认状态。低值状态可包括可执行文件,或可以(例如从金色映像虚拟应用包中)恢复的特定类型的可执行文件,而应用继续如预期那样运行。如另一示例,低值状态可包括仅用于调试的日志文件,其中日志文件可丢失而应用可继续如预期那样运行。高和低值可以一个或多个不同方式被标识和/或区分,包括对应用状态运行试探和接收用户输入。
在一实施例中,工具和技术可包括,在软件应用的应用状态的高值状态集和应用状态的低值状态集之间进行区分。应用可被打包为虚拟应用包。如此处所使用的,包包括信息(文件、元数据等),该信息从对应用进行打包获得并且可被用于部署以实例化应用。包可被拆分成多个部分,并且一些部分可以不同的方式和/或在不同的时间被传送。
在工具和技术的另一实施例中,可分析应用的应用状态。可生成将应用状态中的高值状态集指定为高值的一组指定,以及将应用状态中的低值状态集指定为低值的一组指定。
在又一工具和技术的实施例中,可在应用状态集上运行一组试探,以在应用状态集中的高值状态单元集和该应用状态集中的低值状态单元集之间进行区分。可作出高值状态单元的高值指定,并且可作出低值状态单元的低值指定。
提供本概述是为了以简化的形式介绍一些概念。这些概念将在以下详细描述中进一步描述。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。类似地,本发明不限于解决在背景、详细描述、或附图中讨论的特定技术、工具、环境、缺点、或优点的实现。
附图说明
图1是其中可实现所描述的各实施例中的一个或多个实施例的合适的计算环境的框图。
图2是用于实现高和低值应用状态的环境的框图。
图3是高和低值应用状态技术的流程图。
图4是另一高和低值应用状态技术的流程图。
图5是又一高和低值应用状态技术的流程图。
具体实施例
此处描述的实施例涉及用于在高和低值应用状态之间进行区分的技术和工具。该区分的益处可源于分开或组合地使用各种技术和工具。
这样的技术和工具可包括,在软件应用的应用状态中的高值状态集和该应用状态中的低值状态集之间进行区分。这高/低区分可通过在应用状态上运行一个或多个试探来作出。例如,包括特定类型的可执行代码的文件可被指定为低值状态,而其它文件可被指定为高值状态。使用这些高/低值指定,高值状态可不同于低值状态地被处理,诸如通过执行一个或多个动作的集合来保留该高值状态集,但是不执行该一个或多个动作的集合来保留该低值状态集。例如,在服务或移动应用时可维持高值状态,而低值状态可被丢弃或替代。作为另一个示例,在备份操作期间高值状态可被备份,而低值状态可不在该操作期间备份。
由此,从此处描述的高和低值状态区分工具和技术中可以实现一个或多个实质的益处。所附权利要求中定义的主题不必限于本文描述的益处。本发明的特定实现可提供本文描述的益处的全部、一些、或未提供本文描述的益处。尽管本文出于呈现的目的以特定的顺序次序描述了用于各种技术的操作,但应理解除非要求特定的排序,否则这种描述方式涵盖了操作顺序上的重新安排。例如,在某些情况下,可以重新安排或并发执行顺序地描述的操作。本文参照流程图描述的技术可被用于本文描述的一个或多个系统和/或用于一个或多个其他系统。例如,本文描述的各种过程可用硬件或软件、或两者的组合来实现。此外,为了简单起见,流程图可能未示出可结合其他技术来使用特定技术的各种方式。
示例性计算环境
图1示出其中可实现所描述的各实施例中的一个或多个实施例的合适的计算环境(100)的一般化示例。一般而言,可使用各种不同的通用或专用计算系统配置。适用于此处所描述的工具和技术的公知计算系统配置的示例包括,但不限于,服务器场和服务器群集、个人计算机、服务器计算机、手持式或膝上型设备、多处理器系统、基于微处理器的系统、可编程消费电子产品、网络PC、小型机、大型计算机、包括上述系统或设备中的任一个的分布式计算环境等。
计算环境(100)不旨在对本发明的使用范围或功能提出任何限制,因为本发明可以在完全不同的通用或专用计算环境中实现。
参考图1,计算环境(100)包括至少一个处理单元(110)和存储器(120)。在图1中,这一最基本的配置(130)被包括在虚线内。处理单元(110)执行计算机可执行指令,并且可以是真实或虚拟处理器。在多处理系统中,多个处理单元执行计算机可执行指令以提高处理能力。存储器(120)可以是易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存)、或两者的某种组合。存储器(120)存储软件(180)实现高和低值应用状态工具和技术。
尽管为了清楚起见用线条示出了图1的各框,但是,实际上,描绘各组件并不是那样清楚,并且用比喻方法,图1以及下文讨论的其他附图的线条更精确地将是灰色的和模糊的。例如,可以将诸如显示设备等呈现组件认为是I/O组件。此外,处理器具有存储器。发明人关于此点认识到,这是本领域的特性,并且重申,图1的图示只是例示可结合本发明的一个或多个实施例来使用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,它们全部都被认为是在图1的范围之内的并且被称为“计算机”、“计算环境”、或“计算设备”。
计算环境(100)可具有附加特征。在图1中,计算环境(100)包括存储(140)、一个或多个输入设备(150)、一个或多个输出设备(160)以及一个或多个通信连接(170)。诸如总线、控制器或网络等互连机制(未示出)将计算环境(100)的各组件互连。通常,操作系统软件(未示出)为在计算环境(100)中执行的其它软件提供操作环境,并协调计算环境(100)的各组件的活动。
存储(140)可以是可移动或不可移动的,并可包括诸如磁盘、磁带或磁带盒、CD-ROM、CD-RW、DVD之类的非瞬态计算机可读存储介质,或者可用于储存信息并可在计算环境(100)内访问的任何其它介质。存储(140)储存用于软件(180)的指令。
输入设备(150)可以是诸如键盘、鼠标、笔或跟踪球等触摸输入设备;语音输入设备;扫描设备;网络适配器;CD/DVD读取器;或可向计算环境(100)提供输入的另一设备。输出设备(160)可以是显示器、打印机、扬声器、CD/DVD刻录机、网络适配器、或从计算环境(100)提供输出的另一设备。
通信连接(170)允许通过通信介质与另一计算实体进行通信。因此,计算环境(100)可使用通往诸如个人计算机、服务器、路由器、网络PC、对等设备或另一常见网络节点等一个或多个远程计算设备的逻辑连接而工作在联网环境中。通信介质以已调制数据信号的形式传达诸如数据或计算机可执行指令或请求等信息。已调制数据信号是其一个或多个特征以在信号中编码信息的方式设置或改变的信号。作为示例而非局限,通信介质包括以电、光、RF、红外、声学或其他载波实现的有线或无线技术。
各种工具和技术可以在计算机可读介质的一般上下文中描述。计算机可读介质可以是可在计算环境内访问的任何可用介质。作为示例而非局限,对于计算环境(100),计算机可读介质包括存储器(120)、存储(140)、和以上的组合。
这些工具和技术可在诸如程序模块中所包括的在目标真实或虚拟处理器上的计算环境中执行的计算机可执行指令的一般上下文中描述。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、库、对象、类、组件、数据结构等。程序模块的功能可以如各实施例中所需的组合或在程序模块之间分离。用于程序模块的计算机可执行指令可以在本地或分布式计算环境中执行。在分布式计算环境中,程序模块可以位于本地和远程计算机存储介质中。
出于演示的目的,详细描述使用了如“确定”、“选择”、“调整”和“操作”等术语来描述计算环境中的计算机操作。这些以及其他类似术语是对计算机执行的操作的高层抽象,并且不应混淆于人类执行的动作,除非明确指出人类(诸如“用户”)的动作执行。对应于这些术语的实际的计算机操作取决于实现而不同。
高和低值状态系统和环境
图2是用于实现高和低值应用状态的工具和技术的计算环境(200)的框图。该高/低值状态环境(200)可包括打包环境(210)。打包环境(210)可包括打包器(214),打包器是可接收非虚拟应用(212)并可将非虚拟应用(212)打包为虚拟应用包(220)的模块。例如,打包器(214)可以是诸如微软的应用虚拟化(App-V)软件之类的应用虚拟化软件的一部分。可替换地,打包器(214)可以是配置用于服务器应用的虚拟化的应用虚拟化软件的一部分。这样的服务器应用虚拟化软件可包括可处理常见方式的服务应用的开始、停止、交互,和维持寿命的特征。
打包器(214)完成的打包可包括确定部署该应用(212)需要什么状态(例如文件和注册表项),并从该信息中构建包(220)。作为打包以产生虚拟应用包(220)的部分,打包器(214)可为非虚拟应用在应用状态上运行一个或多个试探,以在高值状态(222)和低值状态(226)之间进行区分。例如,在一个实施例中,在这个打包操作期间,打包器(214)可检查每个文件中的元数据。如果元数据展示文件是可执行代码的特定类型,该文件可被认为低值状态(226)。所有的其它状态可被认为高值状态(222)。其它类型的试探可单独地或组合运行。例如,试探可基于包括非虚拟应用(212)的状态的文件存储在哪里(例如,存储在程序目录中的文件更可能是低值状态)。作为另一示例,试探可基于非虚拟应用(212)是否被配置为备份文件(例如,要备份的文件更可能是高值状态)。作为一些其它示例,试探可基于在安装应用(212)的进程中文件何时被创建(例如,以后创建的文件更可能是高值状态)、基于哪个进程或进程内的代码模块创建该状态和/或读取该状态、基于使用什么存储格式(文件、注册表、数据库等)、基于如何限制对状态的访问(例如,加密或访问控制列表),和/或基于包括状态的文件扩展名、日期,和/或文件大小。试探可在不同组件(诸如应用虚拟化系统的不同组件)之间展开。例如,可由虚拟注册表评估注册表项,并且可由虚拟文件系统评估文件。高值状态(222)和低值状态(226)可被包括在虚拟应用包(220)中,连同将高值状态(222)指定为高值的高值指定(224),以及将低值状态(226)指定为低值的低值指定(228)。通过编辑对应的指定(224和228),打包器(214)可在高值状态(222)和低值状态(226)之间切换应用状态单元。例如,打包器(214)可响应于从用户(例如,打包工程师)接收到的用户输入来执行这样的切换。
高和低值指定(224和228)可被包括在虚拟应用包(220)中,如图2所示,或者它们可以以虚拟应用包(220)之外的某形式被生成和维持。例如,应用状态(222和226)可包括打包在单个应用虚拟化文件(诸如App-V软件中常用的“*.sft”文件)中的应用文件。应用虚拟化文件内的每个状态文件可包括指示状态文件是高值还是低值的属性。对于注册表数据,高或低值的指定可与虚拟注册表项属性一起存储。因此,高和低值指定(224和228)可以以状态单元(诸如包括的状态的文件)的属性的形式。
可替换的,指定(224和228)可以以其它形式。例如,指定(224和228)可在虚拟应用包(220)内的单独文件中,或在虚拟应用包(220)外的单独文件中。此外,指定可以具有所包括的数据和/或所忽略的数据的形式。例如,高值状态可包括指示高值的元数据,而低值状态可忽略那个元数据。在这个示例中,元数据指示高值状态可以是高值状态(222)的高值指定(224),而那个元数据的忽略可以是低值状态(226)的低值指定(228)。
包(220)可被传递到部署环境(240)。在该部署环境中,编辑组件(242)可编辑该包(220),包括高和低值指定(224和228)。例如,部署环境的管理员可提供用户输入,并且作为响应,编辑组件(242)可编辑该高和低值指定(224和228)。例如,编辑组件可将一个或多个高值指定(224)改变为低值指定(228),和/或将一个或多个低值指定(228)改变为高值指定(224)。部署组件(244)可将编辑组件(242)所编辑的包(220)部署到一个或多个目标环境(260)。
通过被部署为应用包(220)的部分或被部署在该应用包之外,高和低值指定(224和228)可以和应用包(220)一起被部署。该编辑组件(242)和部署组件(244)可以是应用虚拟化软件(诸如App-V)中的组件。
在目标环境(260)中,虚拟应用主机(262)(诸如App-V虚拟化软件的客户机组件)可使用该包(220)来实例化应用,并将该应用当作目标环境(260)中的“沙箱”(266)中的虚拟应用(264)来运行。沙箱(266)是包括虚拟应用(264)和虚拟资源的胶囊,虚拟资源运行虚拟应用(264)而无需将该应用安装成目标环境(260)中的本地应用。目标环境(260)(诸如真实的或虚拟的机器)可包括多个沙箱(266),每个沙箱封装一虚拟应用(264)。因此,每个这样的虚拟应用(264)可运行在目标环境(260)中而无需执行应用在目标环境(260)中的标准安装。虚拟应用主机(262)和/或一些其它组件可运行一个或多个试探,以在目标环境(260)中的已实例化的应用中区分高和低值状态。例如,这可为在目标环境(260)中创建的应用状态而作出。当然,这样的状态不会被先前分类成高或低值状态。在一实施例中,在目标环境(260)中这个区分可包括将在目标环境中创建的任何文件或其它状态单元指定为高值状态(222)。除了这个试探之外或作为其替代,可运行其它试探。例如,上面讨论的许多打包时试探也可被应用在目标环境(260)。其它示例可包括,基于访问的频率和/或访问模式(一次写入并多次读取对交错读取和写入等)的试探。此外,高和低值指定(224和228)可响应于接收用户输入,在目标环境(260)中被编辑。
在目标环境(260)中的虚拟应用(264)的一些进程期间,高值状态(222)可不同于低值状态(226)地被处理。例如,应用(264)可被服务(例如,更新、升级、打补丁,具有数据或补丁回退,等)。在服务期间,高和低值指定(224和228)可被用来确定文件是要被保留的高值状态(222)还是要被丢弃的低值状态(226)。高值状态(222)可独立于应用(264)而被保留,诸如被保存到单独的位置,并且服务可被执行在虚拟应用(264)上。在服务被执行之后,高值状态(222)可被应用到新被服务的虚拟应用(264)。应用高值状态(222)可包括将高值状态(222)的至少一些转换到新被服务的应用(264)可使用的格式。例如,在应用(264)已被升级到新应用版本之后,处于高值状态(222)的文件可能需要被重新格式化以便可用于应用(264)。因此,即使在虚拟应用(264)已经以可能不同的已丢失高值状态(222)的方式被服务之后,虚拟应用(264)仍可使用该高值状态(222)及其预期功能。
作为另一个示例,备份操作可备份高值状态(222),而非低值状态(226)。作为又一个示例,虚拟应用(264)可被移至不同目标环境(260)(例如,到不同的机器,到同一机器上的不同操作系统版本,等)。如上面的应用服务示例,初始目标环境(260)中的高值状态(222)可用高值指定(224)来标识。高值状态(222)可被保留,转换到新目标环境(260),并在虚拟应用(264)被移动之后重新应用到新目标环境(260)中的虚拟应用(264)。
上面讨论的示例(服务、备份,和移动)中的状态保留可通过将保留技术应用到高值状态(222)而非低值状态(226)来简化。
高值状态的标识和保留可在不同于上面所讨论的高/低值状态环境(200)的环境中完成。例如,可将虚拟应用包(220)从打包环境(210)直接部署到目标环境(260)。实际上,对虚拟应用的打包、部署和执行可全都在相同环境中完成。此外,此处描述的工具和技术可被应用到被安装并运行为非虚拟应用的应用。例如,可为已安装的非虚拟应用区分和指定高和低值状态。在处理状态时,高值状态可被区别对待。例如,在备份操作中,高值状态可被备份但低值状态不被备份。作为另一示例,在移动应用中,高值状态可被保留以在移动之后重新应用到该应用,但是低值状态不被保留和重新应用。作为又一示例,在服务应用中,高值状态可被保留以在服务之后重新应用到该应用,但是低值状态不被保留和重新应用。
高和低值状态技术
现在将讨论一些高和低值状态技术。可以在计算环境中执行这些技术中的每一个。例如,每种技术可在包括至少一个处理器和存储器的计算机系统中执行,该存储器包括存储于其上的、在由该至少一个处理器执行时使该至少一个处理器执行该技术的指令(存储器存储指令(例如,对象代码),并且当处理器执行这些指令时,处理器执行该技术)。类似地,一个或多个计算机可读存储介质可具有收录于其上的计算机可执行指令,该些指令在由至少一个处理器执行时使该至少一个处理器执行该技术。
转到图3,将讨论高和低值状态技术。在该技术中,软件应用的应用状态集中的高值状态和应用状态集中的低值状态可被区分(310),且应用可被打包(320)为虚拟应用包。可生成一个或多个指定的集合,其中该集合将该高值状态集指定为高值,将该低值状态集指定为低值。例如,区分(310)可包括运行一个或多个试探。试探可确定应用状态的一个或多个单元是否包括可执行代码,诸如一个或多个单元是否包括预定类型的可执行代码。区分(310)可包括,如果单元包括预定类型的可执行代码则将应用状态的单元(诸如文件)指定为低值,如果单元不包括预定类型的可执行代码则指定为高值。如一个示例,试探可确定给定的文件是否是便携执行(PE)图像。如果该文件是PE图像,文件可被认为是低值状态,如果文件不是PE图像,文件可被认为是高值状态。
应用可在目标环境中被实例化(330)。区分和打包可在打包计算环境中完成(在那里应用被打包)和/或在目标计算环境中在实例化该应用后完成(在那里应用被实例化并被执行),而区分可在打包结束之前完成。因此,该高值状态集可以是虚拟应用包中的高值状态集和/或实例化的应用中的高值状态集。同样,该低值状态集可以是虚拟应用包中的低值状态集和/或实例化的应用中的低值状态集。因此,该技术可包括在实例化已经开始之后,在目标环境中区分(340)实例化的应用中的高值状态集和实例化的应用中的低值状态集。
该技术还可包括处理(350)应用状态的至少一部分,可包括不同于该低值状态集地处理该高值状态集。例如,可执行一个或多个动作的集合来保留该高值状态集但不执行以保留该低值状态集。该处理可在目标环境中完成,并且它可在应用已经被实例化之后完成。例如,处理可包括一动作,该动作是包括服务应用、执行备份操作,和/或移动应用的组的一部分。
现在转到图4,将讨论另一高和低值状态技术。该技术可包括分析(410)应用的应用状态。可生成(420)一个或多个指定的集合。这组指定可将应用状态中的高值状态集指定为高值而将应用状态中的低值状态集指定为低值。例如,该指定集可包括将高值状态指定为高值的高值指定集以及将低值状态指定为低值的低值指定集。该技术还可包括将应用打包(440)为虚拟应用包。包可被传输(450)到目标环境以被实例化。虚拟应用包可包括一个或多个高值指定的集合和一个或多个低值指定的集合,或那些指定可被单独传输。此外,至少一部分应用状态可被处理(470),其可包括不同于该低值状态集地处理该高值状态集。
现在转到图5,将讨论又一高和低值状态技术。该技术可包括在应用状态集上运行(510)一个或多个试探的集合,以在该应用状态集中的一个或多个高值状态单元的集合和该应用状态集中的一个或多个低值状态单元的集合之间进行区分。可作出(520)一个或多个高值指定。高值指定可以是高值状态单元的指定。也可作出(530)一个或多个低值指定。低值指定可以是低值状态单元的指定。
响应于用户输入,高值指定之一可被切换(550)到低值指定。同样,响应于用户输入,低值指定之一可被切换(560)到高值指定。此外,该技术还可包括处理(570)应用状态的至少一部分,其中处理可包括不同于该低值状态集地处理该高值状态集。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。

Claims (15)

1.一种计算机实现的方法,包括:
在软件应用的应用状态的高值状态集和该应用状态的低值状态集之间进行区分;以及
在虚拟应用包中打包所述应用。
2.如权利要求1所述的方法,其特征在于,所述区分包括在所述应用状态上运行一个或多个试探。
3.如权利要求2所述的方法,其特征在于,所述一个或多个试探确定所述应用状态的一个或多个单元是否包括可执行代码。
4.如权利要求3所述的方法,其特征在于,所述一个或多个试探确定所述应用状态的一个或多个单元是否包括预定类型的可执行代码。
5.如权利要求4所述的方法,其特征在于,区分包括将包括所述预定类型的可执行代码的所述应用状态的一个或多个单元指定为低值,并将不包括所述预定类型的可执行代码的所述应用状态的一个或多个单元指定为高值。
6.如权利要求1所述的方法,其特征在于,所述区分和打包在打包计算环境中完成,其中所述高值状态集是在所述虚拟应用包中的高值状态集,而所述低值状态集是在所述虚拟应用包中的低值状态集。
7.如权利要求6所述的方法,其特征在于,所述方法还包括在目标环境中在开始实例化所述应用之后在所述目标环境中执行以下操作:
在实例化的应用中的高值状态集和所述实例化的应用中的低值状态集之间进行区分。
8.如权利要求1所述的方法,其特征在于,还包括生成一个或多个指定的集合,所述一个或多个指定的集合将所述高值状态集指定为高值并将所述低值状态集指定为低值。
9.如权利要求1所述的方法,其特征在于,还可包括处理所述应用状态的至少一部分,其中所述处理包括不同于所述低值状态集地处理所述高值状态集。
10.如权利要求9所述的方法,其特征在于,所述处理包括执行一个或多个动作的集合以保留所述高值状态集,但不执行所述一个或多个动作的集合以保留所述低值状态集。
11.如权利要求9所述的方法,其特征在于,所述处理包括从由服务所述应用、执行备份操作、移动所述应用及其组合所组成的组中选择的动作。
12.如权利要求1所述的方法,其特征在于:
所述高值状态集是所述虚拟应用包中的高值状态集,而所述低值状态集是所述虚拟应用包中的低值状态集;
所述方法还包括:
实例化所述应用;
在实例化的应用中的高值状态集和所述实例化的应用中的低值状态集之间进行区分;以及
处理所述实例化的应用,其中所述处理包括不同于所述实例化的应用中的所述低值状态集地处理所述实例化的应用中的所述高值状态集;
在所述虚拟应用包中的所述高值状态集和所述虚拟应用包中的所述低值状态集之间进行区分包括运行一个或多个试探;并且
在所述实例化的应用中的所述高值状态集和所述实例化的应用中的所述低值状态集之间进行区分包括运行一个或多个试探。
13.一种计算机系统,包括:
至少一个处理器;以及
包括存储于其上的指令的存储器,所述指令在由所述至少一个处理器执行时致使所述至少一个处理器执行以下动作:
分析应用的应用状态;以及
生成一个或多个指定的集合,所述一个或多个指定的集合将所述应用状态中的高值状态集指定为高值而将所述应用状态中的低值状态集指定为低值。
14.如权利要求13所述的计算机系统,其特征在于,所述动作还包括处理所述应用状态的至少一部分,其中所述处理包括不同于所述低值状态集地处理所述高值状态集。
15.如权利要求13所述的计算机系统,其特征在于,所述动作还包括:
将所述应用打包为虚拟应用包;以及
将所述虚拟应用包传输到目标环境以被实例化,所述虚拟应用包包括所述一个或多个指定的集合。
CN201180012373.5A 2010-03-05 2011-03-02 高和低值应用状态 Expired - Fee Related CN102812437B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/717,969 US20110219365A1 (en) 2010-03-05 2010-03-05 High and low value application state
US12/717,969 2010-03-05
PCT/US2011/026932 WO2011109566A2 (en) 2010-03-05 2011-03-02 High and low value application state

Publications (2)

Publication Number Publication Date
CN102812437A true CN102812437A (zh) 2012-12-05
CN102812437B CN102812437B (zh) 2016-11-16

Family

ID=44532381

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180012373.5A Expired - Fee Related CN102812437B (zh) 2010-03-05 2011-03-02 高和低值应用状态

Country Status (4)

Country Link
US (1) US20110219365A1 (zh)
EP (1) EP2542967A4 (zh)
CN (1) CN102812437B (zh)
WO (1) WO2011109566A2 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8826268B2 (en) * 2010-03-08 2014-09-02 Microsoft Corporation Virtual software application deployment configurations
WO2013018914A1 (ja) * 2011-08-01 2013-02-07 日本電気株式会社 試験装置、システム、プログラム、及び、方法
US9092235B2 (en) 2012-05-25 2015-07-28 Microsoft Technology Licensing, Llc Virtualizing integrated calls to provide access to resources in a virtual namespace
US9130979B2 (en) 2012-12-11 2015-09-08 Microsoft Technology Licensing, Llc Systems and methods for using virtual machines to sequence native applications into virtual packages and for reimaging virtual machines
US9575740B2 (en) * 2015-01-21 2017-02-21 Samsung Electronics Co., Ltd. Apparatus and method for running multiple instances of a same application in mobile devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083467A1 (en) * 2002-10-29 2004-04-29 Sharp Laboratories Of America, Inc. System and method for executing intermediate code
US20060069761A1 (en) * 2004-09-14 2006-03-30 Dell Products L.P. System and method for load balancing virtual machines in a computer network
US20080250254A1 (en) * 2007-04-05 2008-10-09 Microsoft Corporation Application settings migration using virtualization
US20090112878A1 (en) * 2007-10-31 2009-04-30 Michael Denny Methods, systems and computer program products for automatically identifying and backing up user device content

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7613926B2 (en) * 1997-11-06 2009-11-03 Finjan Software, Ltd Method and system for protecting a computer and a network from hostile downloadables
US20080222160A1 (en) * 2003-09-15 2008-09-11 Macdonald Craig Method and system for providing a program for execution without requiring installation
US7472384B1 (en) * 2003-12-02 2008-12-30 Swsoft Holdings, Ltd. System, method and computer program product for on-the-fly patching of executable code
JP2005216151A (ja) * 2004-01-30 2005-08-11 Hitachi Ltd 資源運用管理システム及び資源運用管理方法
US7363539B1 (en) * 2004-04-30 2008-04-22 Sap Ag Restoring communication sessions and components with state information
US8667482B2 (en) * 2007-08-10 2014-03-04 Microsoft Corporation Automated application modeling for application virtualization
US8560694B2 (en) * 2008-02-01 2013-10-15 Microsoft Corporation Virtual application server with version control
US8631397B2 (en) * 2008-03-31 2014-01-14 Microsoft Corporation Virtualized application image patching
US8117556B2 (en) * 2008-03-31 2012-02-14 Vistaprint Technologies Limited Target-alignment-and-drop control for editing electronic documents
EP2274674A1 (en) * 2008-04-25 2011-01-19 VMWare, Inc. Linking virtualized application namespaces at runtime
US20090282396A1 (en) * 2008-05-07 2009-11-12 Boyer John M Preserving a state of an application during update
US8745611B2 (en) * 2008-06-05 2014-06-03 Accenture Global Services Limited Software upgrade analysis system
US8024732B2 (en) * 2008-07-28 2011-09-20 Microsoft Corporation State separation for application changes
US8572580B2 (en) * 2008-07-28 2013-10-29 Microsoft Corporation Computer application packages with customizations
US8533151B2 (en) * 2009-05-26 2013-09-10 Microsoft Corporation Generating a local copy of a virtualized application package from a local installation
US9424094B2 (en) * 2009-06-01 2016-08-23 International Business Machines Corporation Server consolidation using virtual machine resource tradeoffs
US8261268B1 (en) * 2009-08-05 2012-09-04 Netapp, Inc. System and method for dynamic allocation of virtual machines in a virtual server environment

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040083467A1 (en) * 2002-10-29 2004-04-29 Sharp Laboratories Of America, Inc. System and method for executing intermediate code
US20060069761A1 (en) * 2004-09-14 2006-03-30 Dell Products L.P. System and method for load balancing virtual machines in a computer network
US20080250254A1 (en) * 2007-04-05 2008-10-09 Microsoft Corporation Application settings migration using virtualization
US20090112878A1 (en) * 2007-10-31 2009-04-30 Michael Denny Methods, systems and computer program products for automatically identifying and backing up user device content

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
STEVELOUGHRAN: "《Microsoft App-V-Wikipedia,the free encyclopedia》", 《HTTP://EN.WIKIPEDIA.ORG/W/INDEX.PHP?TITLE=MICROSOFT_APP-V&OLDID=340692496》 *

Also Published As

Publication number Publication date
US20110219365A1 (en) 2011-09-08
EP2542967A4 (en) 2014-08-06
EP2542967A2 (en) 2013-01-09
CN102812437B (zh) 2016-11-16
WO2011109566A2 (en) 2011-09-09
WO2011109566A3 (en) 2011-12-22

Similar Documents

Publication Publication Date Title
US10289959B2 (en) Artificial intelligence and knowledge based automation enhancement
CN102792268B (zh) 用于部署虚拟软件应用部署配置的方法
US11288055B2 (en) Model-based differencing to selectively generate and deploy images in a target computing environment
US20180181376A1 (en) Generation of an application from template
CN101689196B (zh) Discosql:结构化查询的分布式处理
US7861222B2 (en) Discoscript: a simplified distributed computing scripting language
US9952782B1 (en) Method and system for accessing data between different virtual disk formats in a virtualization environment
CN102193817B (zh) 简化物理和虚拟部署的管理
CN103493011A (zh) 与库操作系统的应用兼容性
CN103729235A (zh) Java虚拟机的编译方法和Java虚拟机
CN102812437A (zh) 高和低值应用状态
Pebay et al. Towards asynchronous many-task in situ data analysis using legion
CN102591710A (zh) 共享对象表示
US9553761B2 (en) Dynamic server to server configuration and initialization
CN101847156A (zh) 用于在制造执行系统中安装web分组的方法
CN102142025B (zh) 构成带有链接的自动创建的视图
CN102193818A (zh) 虚拟应用程序包重构
US10733540B2 (en) Artificial intelligence and knowledge based automation enhancement
US11700241B2 (en) Isolated data processing modules
Teo et al. GLAD: a system for developing and deploying large-scale bioinformatics grid
EP1933235A2 (en) Grid modeling tool
US20060031821A1 (en) Divided compiling program application functionality for software development
Abouelhoda et al. Towards scalable and cost-aware bioinformatics workflow execution in the cloud-recent advances to the tavaxy workflow system
US20080172450A1 (en) Mobile service apparatus
US20230152938A1 (en) Graphical user interface for centralized register device management and monitoring

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: 20150803

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

Effective date of registration: 20150803

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20161116

Termination date: 20180302

CF01 Termination of patent right due to non-payment of annual fee