CN103493016A - 将应用程序安装到虚拟化环境中 - Google Patents

将应用程序安装到虚拟化环境中 Download PDF

Info

Publication number
CN103493016A
CN103493016A CN201180070307.3A CN201180070307A CN103493016A CN 103493016 A CN103493016 A CN 103493016A CN 201180070307 A CN201180070307 A CN 201180070307A CN 103493016 A CN103493016 A CN 103493016A
Authority
CN
China
Prior art keywords
application program
electronic equipment
virtualized environment
virtualized
application
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
CN201180070307.3A
Other languages
English (en)
Other versions
CN103493016B (zh
Inventor
詹姆斯·M·曼
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN103493016A publication Critical patent/CN103493016A/zh
Application granted granted Critical
Publication of CN103493016B publication Critical patent/CN103493016B/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/445Program loading or initiating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • 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
    • 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
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects

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)
  • User Interface Of Digital Computer (AREA)

Abstract

一种电子设备具有多个虚拟化环境。对应用程序库中的应用程序的选择被接收,并且虚拟化环境被识别以安装从所述应用程序库中选择的应用程序。

Description

将应用程序安装到虚拟化环境中
背景技术
诸如计算机或其它类型电子设备之类的物理机器能够被配置为包括能运行各自不同客户机操作系统的多个虚拟化环境。这种虚拟化环境有时也被称作虚拟机。多个虚拟化环境在物理机器中的存在允许针对不同操作系统所写的应用程序在相同的物理机器上的不同虚拟化环境中运行。
附图说明
关于下图描述一些实施例:
图1A至图1B为根据各种实施方式的示例系统的框图;
图2为根据一些实施方式的从应用程序库加载应用程序的过程的流程图;以及
图3为根据另外的实施方式的系统组件的框图。
具体实施方式
在电子设备中,能够呈现包含表示各自不同应用程序的项目的应用程序库的图形表示。用户能够在应用程序库中选择一个或多个项目,以使各个应用程序安装到电子设备中。电子设备的示例包括计算机(桌上型计算机、笔记本电脑、平板电脑等)、个人数字助理(PDA)、移动电话、电子电器或其它类型的电子设备。
应用程序库中的能够被安装到电子设备中的应用程序能够位于各种远程站点,例如网站或者为应用程序提供销售或免费下载的供应商的应用程序服务器。当用户选择应用程序库中与给定应用程序相对应的项目时,电子设备通过网络与远程站点通信以下载与给定应用程序相关联的代码用于安装在电子设备中。与给定应用程序相关联的“代码”指机器可读指令,一旦机器可读指令安装在电子设备中,机器可读指令就可在电子设备上运行。机器可读指令能够采用编译后代码、脚本或其它形式代码的形式。将应用程序“安装”到电子设备中指从源(例如远程站点)获得应用程序的代码,并且将该代码放置于在例如通过用户或通过应用程序调用时允许代码运行的状态下的电子设备中。代码被放置到电子设备的合适位置,以允许代码在被调用时运行。在安装代码之前,代码先前不存在于在响应于代码的调用允许代码运行的状态下的电子设备中。
在一些实施方式中,电子设备能够被配置有多个虚拟化环境(也被称作“虚拟机”)。“虚拟化环境”或“虚拟机”指用于虚拟化或仿真实际机器的组件的布置。在随后的讨论中,术语“虚拟化环境”和“虚拟机”可互换使用。如下面进一步讨论的那样,当用户期望将应用程序安装到电子设备中时,多个虚拟化环境在电子设备中的存在给用户提出挑战。例如,应用程序可能针对特定操作系统编写,使得应用程序必须安装在包含特定操作系统的虚拟化环境中。如果用户手动确定多个虚拟化环境中的哪个是适合于应用程序安装的虚拟化环境,则这对用户来说可能是挑战。
每个虚拟化环境的组件能够包括客户机操作系统和能够在客户机操作系统内操作的一个或多个应用程序。电子设备中的不同虚拟化环境能够包括不同类型的客户机操作系统(例如,Unix操作系统、Linux操作系统、操作系统、WebOS或其它类型的操作系统)。多个虚拟化环境在电子设备中的存在允许在电子设备中并发运行针对不同操作系统设计的应用程序。
在具有多个虚拟化环境的电子设备中,由这种电子设备呈现的应用程序库可以包括用于不同类型操作系统的应用程序。与为不同类型操作系统提供不同单个应用程序库的布置相比,在公共应用程序库内呈现用于不同类型操作系统的应用程序提升了用户体验。用户能够容易地通过公共应用程序库进行浏览以查找用户可能感兴趣的应用程序。
根据一些实施方式,提供技术或机制以允许所选择应用程序(通过用户在包含用于不同类型操作系统的应用程序的应用程序库中选择)自动安装到包括与所选择应用程序兼容的客户机操作系统的相应虚拟化环境中。通过使用根据一些实施方式的技术或机制,用户不必手动执行分析来确定多个虚拟化环境中的哪个是适合于所选择应用程序的安装的虚拟化环境,而手动执行分析对没有正确训练或引导的用户来说可能是挑战。
图1A为包括多个虚拟化环境(或虚拟机)102A、102B的示例电子设备100的框图。尽管在图1A中只是示出两个虚拟化环境,但应注意,在可替代实施方式中,可以在电子设备100中提供附加的虚拟化环境。如图1A中所示,虚拟化环境102A包括客户机操作系统104A和被设计为在客户机操作系统104A上运行的应用程序106A。类似地,虚拟化环境102B包括客户机操作系统104B和被设计为在客户机操作系统104B上运行的应用程序106B。客户机操作系统104B是与客户机操作系统104A不同类型的客户机操作系统。
在一些示例中,电子设备100的硬件资源108包括处理器112、存储器114、持久性存储介质116和输入/输出(I/O)设备118。注意,尽管从单数意义上对处理器112、存储器114、持久性存储介质116和I/O设备118进行引用,但硬件资源108也能够包括多个处理器、存储器、持久性存储介质和/或I/O设备。
电子设备的硬件资源108的虚拟化通过虚拟机监控器(VMM)110提供。VMM也被称作管理程序。VMM110管理硬件资源108的共享(通过虚拟化环境102A、102B)。VMM110虚拟化硬件资源108,并且拦截来自客户机操作系统104A、104B的对这种硬件资源的请求。
有效地,VMM110在每个虚拟化环境的客户机操作系统与底层硬件资源108之间提供接口。在一些示例中,由VMM110提供的到客户机操作系统的接口被设计为仿效由实际硬件资源108提供的接口。
在一些实施方式中,VMM110为类型1(或本地、裸机)VMM或被配置为在硬件资源108上直接运行以控制硬件资源108并与客户机操作系统交互的管理程序。在其它实施方式中,VMM110可以为类型2(或托管的)VMM或者在主机操作系统上运行的管理程序。例如,主机操作系统120在图1A中以虚线轮廓被描绘。如果VMM110为托管的VMM,则将存在主机操作系统120以托管VMM110。另一方面,如果VMM110为类型1VMM,则将省略主机操作系统120。
电子设备100还包括显示设备122。显示设备122与硬件资源108的图形控制器(其可以是I/O设备118之一)交互。显示设备122可以被控制以呈现应用程序库124的图形表示。应用程序库124包括表示可由用户选择的各个应用程序的项目126(例如图标)以引起各个所选择应用程序的安装。
注意,I/O设备118也可以包括用于允许电子设备100通过网络128与各个远程站点130(例如,网站、应用程序服务器等)通信的网络接口控制器。每个远程站点130可以存储与表示在应用程序库124中的一个或多个应用程序相对应的代码。响应于在应用程序库124中对应用程序的选择,电子设备100通过网络128与各个远程站点130通信,以促使与所选择应用程序相对应的代码被下载到电子设备100用于在电子设备100中安装。
从应用程序库124中选择的应用程序的安装可以由在电子设备100中运行的安装程序逻辑132控制。安装程序逻辑132可以被考虑为是应用程序库代理(用于应用程序库124的代理)。在一些实施方式中,应用程序库连接通过电子设备100的虚拟化基础架构代理。代理应用程序库连接指其中与应用程序库相关联的安装任务(例如响应于用户对应用程序库124中应用程序的选择的安装任务)被转发给作为电子设备100的虚拟化基础架构的一部分的安装程序逻辑132的操作。
例如,安装程序逻辑132可以是位于虚拟化基础架构中的控制域134的一部分。控制域可以是域0,域0是电子设备100初始启动时发起的第一域。注意,域0概念可应用于一些类型的VMM110。域0包括特殊管理权限,并且可以具有对硬件资源108的直接访问权。域0可以被看作管理虚拟机。
在其它示例中,安装程序逻辑132可以是服务虚拟机136(其被配置为在电子设备100中执行各种管理任务)的一部分。作为又一替代,安装程序逻辑132可以是虚拟化环境102A、102B之一的一部分。
图1B示出根据可替代实施方式的简化电子设备100A。电子设备100A中的、存在于图1A的电子设备100中的元件利用相同的附图标记标出。如图1B中所示,电子设备100A包括虚拟化环境102A和102B以及能够显示应用程序库124的表示的显示设备122。
电子设备100A的硬件资源108A包括机器可读介质150和处理器112。如所描绘的,在一些实施方式中,根据一些实施方式的安装程序逻辑132初始存储在机器可读存储介质150中并且被加载用于在处理器112上运行。
图2为根据一些实施方式的由电子设备100执行的过程。应用程序库124的图形表示(图1A或图1B)被呈现(在202处)用于显示。在一些示例中,应用程序库124可以由电子设备100中的应用程序库应用程序(未示出)呈现。应用程序库应用程序可以为虚拟化环境102A、102B之一的一部分,或者可以为服务虚拟模块136的一部分,或者可以为电子设备100中其它模块的一部分。
安装程序逻辑132接收(在204处)对应用程序库124中应用程序的选择。响应于该选择,安装程序逻辑132识别(在206处)多个虚拟化环境102A、102B中的哪个对应于所选择的应用程序。所选择的应用程序然后被安装(在208处)到所识别的虚拟化环境中。
注意,在一些情况下,在206处执行的识别可以包括识别适合于所选择应用程序的安装的多个虚拟化环境(换句话说,所选择应用程序与所识别多个虚拟化环境中的每个客户机操作系统兼容)。在这种情况下,安装程序逻辑132可以提示用户选择所识别多个虚拟化环境中的哪个以安装所选择应用程序。可替代地,安装程序逻辑132可以使用一个或多个预定标准以自动从所识别多个虚拟化环境中选择。例如,安装程序逻辑132可以选择:(1)所识别多个虚拟化环境中最近使用的虚拟化环境,或者(2)所识别多个虚拟化环境中的、目前在前景中或活动的一个虚拟化环境。由于存在多个虚拟化环境,因此虚拟化环境中的一些可以在电子设备中活动地执行任务(这种虚拟化环境中的应用程序和/或操作系统活动地运行,因此使用电子设备的硬件资源)。这种虚拟化环境被考虑为在前景中或活动的。相比之下,其它虚拟化环境可以是休眠的(应用程序和/或操作系统怠速并且不使用电子设备的硬件资源)。对于从所识别多个虚拟化环境中进行选择的其它标准可以用于其它示例中。
一旦安装程序逻辑132采用预定的标准(或那些标准)以从所识别多个虚拟化环境中选择,安装程序逻辑132就能够自动将所选择的应用程序安装到所选择的虚拟化环境中,而不从用户进一步输入。可替代地,连同所识别的多个虚拟化环境一起,安装程序逻辑132可以首先向用户呈现所选择的虚拟化环境作为建议或意见。用户可以选择接受或忽视该建议或意见。
所选择应用程序待安装入的虚拟化环境的识别(图2中的206)可以基于若干不同机制之一。例如,元数据可以与应用程序库中的应用程序相关联。元数据可以包括在应用程序的进程程序(wrapper)或安装程序中。进程程序指与应用程序相关联的、被配置为在进程程序运行时调用应用程序的逻辑。应用程序的安装程序指与应用程序相关联的、被配置为在安装程序运行时将应用程序安装在系统中的逻辑。元数据可以识别特定应用程序与给定操作系统相关联,使得安装程序逻辑132能够基于元数据判定哪个虚拟化环境102A、102B是适合于安装所选择应用程序的虚拟化环境(通过将元数据指示的操作系统与每个虚拟化环境中的客户机操作系统进行匹配)。
用于允许将应用程序与各个虚拟化环境102A、102B相关联的另一机制是将各个不同的应用程序(针对不同类型操作系统设计的)包括在各个唯一的、单个应用程序库中,例如图3中描绘的单个应用程序库302、304和306。尽管图3中示出三个单个应用程序库302、304和306,但注意,不同数目的单个应用程序库可以用于其它示例中。
单个应用程序库302包含用于第一类型操作系统的应用程序,单个应用程序库304包含用于第二类型操作系统的应用程序,并且单个应用程序库306包含用于第三类型操作系统的应用程序。单个应用程序库302、304和306的内容可以被组合以呈现在所显示应用程序库124中。在根据图3的实现中,所显示应用程序库124可以看作是组合单个应用程序库302、304和306的内容的虚拟或摘要应用程序库。
当在所显示应用程序库124中选择应用程序时,安装程序逻辑132能够将所选择应用程序的源识别为单个应用程序库302、304和306中之一。基于将各个单个应用程序库识别为源,安装程序逻辑132能够确定哪个虚拟化环境是安装所选择应用程序的正确虚拟化环境。
作为又一替代,应用程序库124中应用程序的扩展名可以用于识别合适的虚拟化环境以安装所选择的应用程序。例如,具有.exe扩展的应用程序名指示应用程序用于
Figure BDA0000398868190000061
操作系统,因此应当安装在包括操作系统的虚拟化环境中。作为另一示例,具有.rpm或.yum扩展的应用程序名能够指示应用程序与Linux操作系统相关联,因此应当安装在包含Linux操作系统的虚拟化环境中。
尽管许多扩展是唯一的并且是明确的(关于应用程序针对哪个操作系统设计),但存在可能潜在地模糊的其它扩展。这种模糊扩展的示例包括.xml或.html。具有这些扩展的应用程序可以是潜在地能够安装在具有不同操作系统的若干不同虚拟化环境之一中的插件。为了解决该模糊,可以使用前述技术之一,例如采用与应用程序相关联的元数据的技术或其中用于不同操作系统的应用程序存储在不同单个应用程序库中的技术。
可替代地,在扩展模糊的情况下,可以向用户呈现提示以允许用户选择哪个虚拟化环境适合于安装所选择的应用程序。
通过使用根据一些实施方式的技术或机制,针对不同类型操作系统设计的应用程序可以呈现在公共或共享应用程序库中,同时仍然允许能够将所选择应用程序安装到具有多个虚拟化环境的电子设备中的合适虚拟化环境中。
上述模块(包括图1A或图1B中示出的模块)的机器可读指令在处理器(例如图1A或图1B中的112)上运行。处理器可以包括微处理器、微控制器、处理器模块或子系统、可编程集成电路、可编程门阵列或者其它控制或计算设备。
数据和指令存储在被实现为一个或多个计算机可读或机器可读存储介质的各个存储设备中。存储介质包括不同形式的存储器,包括:诸如动态或静态随机存取存储器(DRAM或SRAM)、可擦除和可编程只读存储器(EPROM)、电可擦除和可编程只读存储器(EEPROM)和闪存之类的半导体存储设备;诸如固定磁盘、软盘和可移动磁盘之类的磁盘;包括磁带的其它磁介质;诸如光盘(CD)或数字视频盘(DVD)之类的光学介质;或其它类型的存储设备。注意,上面讨论的指令可以提供在一个计算机可读或机器可读存储介质上,或者可替代地,可以提供在分布于具有可能多个节点的大系统中的多个计算机可读或机器可读存储介质上。这种或这些计算机可读或机器可读存储介质被考虑为是物品(或制品)的一部分。物品或制品可以指制造的任意单个组件或多个组件。存储介质可以位于运行机器可读指令的机器中,或者位于通过网络从其下载机器可读指令以运行的远程站点处。
在前面的描述中,大量细节被阐述以提供对这里公开的主题的理解。然而,可以在不具有这些细节中的一些或全部细节的情况下实践这些实现。其它实现可以包括对上面讨论的细节的修改和改变。目的是,所附权利要求涵盖这种修改和改变。

Claims (15)

1.一种电子设备的方法,包括:
在所述电子设备处呈现应用程序库的表示,其中所述电子设备具有各自被配置有各个不同类型操作系统的多个虚拟化环境;
接收对所述应用程序库中的应用程序的选择;
识别所述多个虚拟化环境中的哪个虚拟化环境对应于所述应用程序;以及
将所述应用程序安装到所识别的虚拟化环境中。
2.根据权利要求1所述的方法,其中所述识别包括访问与所述应用程序相关联的信息以确定所述应用程序与所述操作系统中的哪个操作系统相关联。
3.根据权利要求2所述的方法,其中访问所述信息包括访问所述应用程序的进程程序或安装程序中的元数据。
4.根据权利要求2所述的方法,其中访问所述信息包括访问与所述应用程序的源相关的信息。
5.根据权利要求4所述的方法,其中访问与所述源相关的信息包括访问指示所述应用程序与多个单个应用程序库中的哪个应用程序库相关联的信息。
6.根据权利要求2所述的方法,其中访问所述信息包括访问所述应用程序的扩展名。
7.根据权利要求1所述的方法,其中所述接收、识别和安装通过所述电子设备的虚拟化基础架构中的逻辑执行。
8.根据权利要求7所述的方法,其中所述虚拟化基础架构包括控制域或虚拟机。
9.一种包括存储指令的至少一个机器可读存储介质的物品,所述指令一旦执行就促使具有处理器的电子设备执行根据权利要求1所述的方法。
10.一种电子设备包括:
至少一个处理器;
具有各个客户机操作系统的多个虚拟化环境;以及
安装程序逻辑,用于:
接收对通过具有多个应用程序的应用程序库呈现的应用程序的选择;
访问与所选择的应用程序相关联的信息以识别所选择的应用程序要安装到所述虚拟化环境中的哪个虚拟化环境中;并且
将所选择的应用程序安装在所识别的虚拟化环境中。
11.根据权利要求10所述的电子设备,其中所述安装程序逻辑是所述电子设备的虚拟化基础架构的一部分。
12.根据权利要求10所述的电子设备,其中所述安装程序逻辑通过下列方式识别所选择的应用程序要安装到所述虚拟化环境中的哪个虚拟化环境中:
将所述多个虚拟化环境中的多个虚拟化环境识别为适合于安装所选择的应用程序;以及
执行用于从所述多个虚拟化环境中进行选择以安装所选择的应用程序的动作。
13.根据权利要求12所述的电子设备,其中所述动作包括从下列动作中选择的至少一个:
提示用户选择所述多个虚拟化环境中的一个虚拟化环境;
使用至少一个标准来从所述多个虚拟化环境中自动选择;以及
使用至少一个标准来从所述多个虚拟化环境中选择,并且在给用户的提示中呈现所述多个虚拟化环境中选择的一个虚拟化环境,作为用于安装所选择应用程序的建议虚拟化环境。
14.根据权利要求10所述的电子设备,其中所访问的信息包括从下列选择的至少一个:
所选择应用程序的进程程序或安装程序中的元数据;
所选择应用程序的源;以及
所选择应用程序的扩展名。
15.根据权利要求10所述的电子设备,其中所述应用程序库为具有与不同类型操作系统相关联的应用程序的共享应用程序库,所述电子设备进一步包括:
各自包含所述应用程序的各个子集的单个应用程序库,其中所述单个应用程序库中的每个与所述不同类型操作系统中的相应一个相关联。
CN201180070307.3A 2011-04-21 2011-04-21 电子设备及将应用程序安装到虚拟化环境中的方法 Expired - Fee Related CN103493016B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/033367 WO2012145002A1 (en) 2011-04-21 2011-04-21 Installing an application into a virtualized environment

Publications (2)

Publication Number Publication Date
CN103493016A true CN103493016A (zh) 2014-01-01
CN103493016B CN103493016B (zh) 2017-06-06

Family

ID=47041855

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180070307.3A Expired - Fee Related CN103493016B (zh) 2011-04-21 2011-04-21 电子设备及将应用程序安装到虚拟化环境中的方法

Country Status (5)

Country Link
US (2) US9176721B2 (zh)
CN (1) CN103493016B (zh)
DE (1) DE112011105082T5 (zh)
GB (1) GB2503399A (zh)
WO (1) WO2012145002A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094764A (zh) * 2014-05-04 2015-11-25 中国移动通信集团公司 电子设备应用的生成方法及装置
CN105446760A (zh) * 2014-08-29 2016-03-30 国际商业机器公司 用于应用安装的方法和装置
WO2017206302A1 (zh) * 2016-05-31 2017-12-07 中兴通讯股份有限公司 一种应用程序的运行方法和运行装置
CN108701034A (zh) * 2015-12-28 2018-10-23 亚马逊科技有限公司 向适于托管与用户相关联的一组应用程序的虚拟机供应计算资源

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10089093B1 (en) * 2011-05-24 2018-10-02 BlueStack Systems, Inc. Apparatuses, systems and methods of switching operating systems
US8924958B1 (en) * 2011-05-24 2014-12-30 BlueStack Systems, Inc. Application player
US9122551B2 (en) * 2011-06-17 2015-09-01 The Boeing Comapny Methods and systems for generating read-only operating systems
US9571332B2 (en) * 2012-04-17 2017-02-14 Adara Networks, Inc. Methods and apparatuses for remote application provisioning automation over virtualized IT infrastructure
US20140149906A1 (en) * 2012-11-26 2014-05-29 Bank Of America Corporation Electronic Bookshelf
US9645809B2 (en) 2013-05-29 2017-05-09 Microsoft Technology Licensing, Llc Updating software components through online stores
CN104572218B (zh) * 2015-01-28 2019-02-01 宇龙计算机通信科技(深圳)有限公司 应用程序的运行控制方法、运行控制系统和终端
US9763024B2 (en) * 2015-04-09 2017-09-12 Yahoo Holdings, Inc. Mobile ghosting
US10341412B1 (en) * 2015-06-19 2019-07-02 Amazon Technologies, Inc. Multiple application remoting
US10326806B1 (en) 2016-07-19 2019-06-18 Google Llc Persisting state of a streaming application
US10216506B2 (en) * 2017-04-07 2019-02-26 International Business Machines Corporation Location-based automatic software application installation
CN107844302B (zh) * 2017-10-18 2020-12-11 上海瀚之友信息技术服务有限公司 一种基于虚拟机的生产环境模拟系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060200818A1 (en) * 2005-03-02 2006-09-07 International Business Machines Corporation Method and apparatus for providing alternative installation structures for deployment of software applications
CN101216777A (zh) * 2008-01-11 2008-07-09 华中科技大学 一种多虚拟机环境下的快速部署系统
CN101655798A (zh) * 2008-08-18 2010-02-24 联想(北京)有限公司 一种计算机和虚拟机环境中应用程序部署和运行的方法

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273122A (ja) 2000-03-23 2001-10-05 Hitachi Ltd 並列計算システムのプログラムインストール方法及び装置
US7577722B1 (en) * 2002-04-05 2009-08-18 Vmware, Inc. Provisioning of computer systems using virtual machines
JP4168338B2 (ja) 2003-09-18 2008-10-22 ブラザー工業株式会社 インストールプログラム、コンピュータ読取可能な記録媒体、及びインストール方法
EP1665041A1 (en) * 2003-09-26 2006-06-07 Bitfone Corporation Update package catalog for update package transfer between generator and content server in a network
US7669177B2 (en) 2003-10-24 2010-02-23 Microsoft Corporation System and method for preference application installation and execution
US7694280B2 (en) 2004-03-29 2010-04-06 Hewlett-Packard Development Company, L.P. Systems and methods for controlling program installation on a computing device
US20070143446A1 (en) 2005-12-21 2007-06-21 Morris Robert P Methods, systems, and computer program products for installing an application from one peer to another including application configuration settings and data
US8151323B2 (en) * 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US7987432B1 (en) 2006-04-25 2011-07-26 Parallels Holdings, Ltd. Seamless integration and installation of non-native application into native operating system
US7827548B1 (en) 2006-06-08 2010-11-02 Sprint Communications Company L.P. Environment-neutral application build
US8037473B2 (en) 2006-10-20 2011-10-11 International Business Machines Corporation Method to share licensed applications between virtual machines
US8464245B2 (en) 2007-06-27 2013-06-11 Flexera Software Llc Method and system for software virtualization directly from an installation package
US8949585B2 (en) * 2007-10-09 2015-02-03 Vmware, Inc. In-place conversion of virtual machine state
JP5285761B2 (ja) * 2008-03-20 2013-09-11 インターナショナル・ビジネス・マシーンズ・コーポレーション アプリケーション仮想化環境においてソフトウェアのインストールおよび使用を検出する方法およびシステム
KR101506683B1 (ko) * 2008-08-06 2015-03-30 삼성전자 주식회사 다수개의 운영 시스템을 지원하는 장치 및 방법
US8434093B2 (en) 2008-08-07 2013-04-30 Code Systems Corporation Method and system for virtualization of software applications
US9021470B2 (en) * 2008-08-29 2015-04-28 Red Hat, Inc. Software provisioning in multiple network configuration environment
US8595714B1 (en) * 2009-03-04 2013-11-26 Amazon Technologies, Inc. User controlled environment updates in server cluster
US8826269B2 (en) * 2009-06-15 2014-09-02 Microsoft Corporation Annotating virtual application processes
US8789041B2 (en) * 2009-12-18 2014-07-22 Verizon Patent And Licensing Inc. Method and system for bulk automated virtual machine deployment
US8719776B2 (en) * 2009-12-30 2014-05-06 Foneclay, Inc. System for creation and distribution of software applications usable on multiple mobile device platforms
US8645977B2 (en) * 2010-02-04 2014-02-04 Microsoft Corporation Extensible application virtualization subsystems
CN101833462A (zh) 2010-04-01 2010-09-15 山东高效能服务器和存储研究院 一种跨操作系统平台的通用的安装程序制作方法
CN101937351B (zh) 2010-09-15 2013-07-31 任子行网络技术股份有限公司 一种自动安装应用软件的方法和系统
US9053339B2 (en) * 2010-10-27 2015-06-09 Hytrust, Inc. System and method for secure storage of virtual machines
US8713566B2 (en) * 2011-01-31 2014-04-29 International Business Machines Corporation Method and system for delivering and executing virtual container on logical partition of target computing device
US9021005B2 (en) * 2011-03-04 2015-04-28 Mformation Software Technologies Llc System and method to provide remote device management for mobile virtualized platforms
US9058196B2 (en) * 2011-04-12 2015-06-16 Red Hat Israel, Ltd. Host machine level template caching in virtualization environments
US8631131B2 (en) * 2011-09-07 2014-01-14 Red Hat Israel, Ltd. Virtual machine pool cache
US8904081B1 (en) * 2012-05-08 2014-12-02 Vmware, Inc. Composing a virtual disk using application delta disk images

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060200818A1 (en) * 2005-03-02 2006-09-07 International Business Machines Corporation Method and apparatus for providing alternative installation structures for deployment of software applications
CN101216777A (zh) * 2008-01-11 2008-07-09 华中科技大学 一种多虚拟机环境下的快速部署系统
CN101655798A (zh) * 2008-08-18 2010-02-24 联想(北京)有限公司 一种计算机和虚拟机环境中应用程序部署和运行的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李冰鹏 等: "一种软件智能部署方法的研究", 《计算机应用》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105094764A (zh) * 2014-05-04 2015-11-25 中国移动通信集团公司 电子设备应用的生成方法及装置
CN105094764B (zh) * 2014-05-04 2019-01-08 中国移动通信集团公司 电子设备应用的生成方法及装置
CN105446760A (zh) * 2014-08-29 2016-03-30 国际商业机器公司 用于应用安装的方法和装置
CN105446760B (zh) * 2014-08-29 2019-02-15 国际商业机器公司 用于应用安装的方法和装置
CN108701034A (zh) * 2015-12-28 2018-10-23 亚马逊科技有限公司 向适于托管与用户相关联的一组应用程序的虚拟机供应计算资源
CN108701034B (zh) * 2015-12-28 2022-04-12 亚马逊科技有限公司 向适于托管与用户相关联的一组应用程序的虚拟机供应计算资源
US11340927B2 (en) 2015-12-28 2022-05-24 Amazon Technologies, Inc. Application-based computing resource management
WO2017206302A1 (zh) * 2016-05-31 2017-12-07 中兴通讯股份有限公司 一种应用程序的运行方法和运行装置

Also Published As

Publication number Publication date
WO2012145002A1 (en) 2012-10-26
US20140040878A1 (en) 2014-02-06
GB201318026D0 (en) 2013-11-27
US20160041818A1 (en) 2016-02-11
US9858062B2 (en) 2018-01-02
DE112011105082T5 (de) 2014-06-26
US9176721B2 (en) 2015-11-03
GB2503399A (en) 2013-12-25
CN103493016B (zh) 2017-06-06

Similar Documents

Publication Publication Date Title
CN103493016A (zh) 将应用程序安装到虚拟化环境中
US20210117081A1 (en) Presenting Buttons for Controlling an Application
Wasserman Software engineering issues for mobile application development
US9844725B1 (en) Changing user experience using application events and selected actions
CN109471697B (zh) 一种监控虚拟机中系统调用的方法、装置及存储介质
KR20130086138A (ko) 크로스―플랫폼 어플리케이션 프레임워크
CN103984538A (zh) 应用场景的识别方法、功耗管理方法、装置及终端设备
US9715440B2 (en) Test scope determination based on code change(s)
US20130132868A1 (en) Cross-browser "drag-and-drop" library
CN102929656A (zh) 使用浏览器中内置ActiveX插件的方法和客户端
US20170075686A1 (en) Method for updating library, and terminal and system therefor
CN104685443B (zh) 锁定引导数据用以更快引导
US20110265072A1 (en) Dynamic Installation of Files for Running Programs
WO2014120139A1 (en) Acquiring identification of an application lifecycle management entity associated with similar code
US9841982B2 (en) Locating import class files at alternate locations than specified in classpath information
CN102968323A (zh) 计算机终端和实现计算机系统开机加速的方法
CN109960505B (zh) 用户界面组件插件化方法、系统、设备及存储介质
CN105446785A (zh) 卸载应用程序的方法及系统
US9448782B1 (en) Reducing a size of an application package
US9563752B2 (en) License information access based on developer profiles
Amirgaliyev et al. Development of applications to mobile devices in Android platform
CN104731633A (zh) 一种Linux系统下多分区存储设备卸载失败后回滚方法及系统
US9529487B1 (en) Method of providing fast switching to web apps
US20220269511A1 (en) Operating system partitioning of different users for single-user applications
Lee et al. An implementation of mobile desktop manager for mobile web devices

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
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: 20170606