CN105446760B - 用于应用安装的方法和装置 - Google Patents

用于应用安装的方法和装置 Download PDF

Info

Publication number
CN105446760B
CN105446760B CN201410437988.8A CN201410437988A CN105446760B CN 105446760 B CN105446760 B CN 105446760B CN 201410437988 A CN201410437988 A CN 201410437988A CN 105446760 B CN105446760 B CN 105446760B
Authority
CN
China
Prior art keywords
operation system
application
system example
resource
completely
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.)
Expired - Fee Related
Application number
CN201410437988.8A
Other languages
English (en)
Other versions
CN105446760A (zh
Inventor
赵国新
刘洪刚
曹雷
R·摩根
李婷
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to CN201410437988.8A priority Critical patent/CN105446760B/zh
Publication of CN105446760A publication Critical patent/CN105446760A/zh
Application granted granted Critical
Publication of CN105446760B publication Critical patent/CN105446760B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本公开内容涉及用于应用安装的方法和装置。本发明的一个实施例提供一种用于应用安装的方法。该方法包括:接收在第一操作系统实例上安装应用的请求;检测所述应用是否适合被完整地安装于所述第一操作系统实例;以及响应于所述应用不适合被完整地安装于所述第一操作系统实例,确定第二操作系统实例以用于安装所述应用的至少一部分,所述第二操作系统实例不同于所述第一操作系统实例。还描述了相应的装置。

Description

用于应用安装的方法和装置
技术领域
本发明的实施例一般地涉及计算机领域,并且特别涉及用于应用安装的方法和装置。
背景技术
在各种电子设备上,用户经常需要安装各种应用或程序。通常,用户可以通过本地或者远程安装程序(installer)来完成应用的安装。已知的是,由不同生产商提供的电子设备可能运行不同的操作系统(OS)。由此,应用的开发者会针对不同的OS而开发相应的安装程序,以便将应用正确地安装在目标设备上。
一般而言,针对不同OS的安装程序不能彼此互换使用。例如,针对MicrosoftWindows系统而开发的安装程序通常无法在Unix或者Linux系统上工作。然而,对于用户、特别是不具备专业知识的普通用户而言,可能无法正确地选择与目标设备兼容的应用安装程序。当用户获得的应用安装程序无法在目标设备的OS上执行时,用户不得不重新购买和/或下载正确的安装程序。在某些情况下,用户甚至需要更换设备、购买新服务和/或重新安装操作系统。
另一个潜在问题是应用与目标设备的匹配问题。具体而言,在某些情况下,目标设备的资源可能无法支持用户想要安装的应用的流畅执行。如已知的,某些应用的安装程序可以指明应用的资源需求。例如,常见的做法是在载有应用安装程序的压缩盘(CD)的包装上和/或应用安装程序的说明文件中,指明应用所需的最低和/或最优资源,包括磁盘大小、存储器大小、中央处理单元(CPU)主频,等等。然而,普通用户往往并不了解目标设备的具体资源配置情况。而且,即便应用能够被成功安装在目标机器上,在应用的实际执行过程中,仍然可能发生执行不流畅、与目标机器上的其他应用冲突等各种问题。这些问题很可能将会导致该应用和/或目标设备整体的性能下降。
发明内容
总体上,本发明的实施例提出一种用于应用的智能安装的技术方案。
在本发明的一个方面,提供一种用于应用安装的方法。所述方法包括:接收在第一操作系统实例上安装应用的请求;检测所述应用是否适合被完整地安装于所述第一操作系统实例;以及响应于所述应用不适合被完整地安装于所述第一操作系统实例,确定第二操作系统实例以用于安装所述应用的至少一部分。
在本发明的另一方面,提供一种用于应用安装的装置。所述装置包括:请求接收单元,被配置为接收在第一操作系统实例上安装应用的请求;安装检测单元,被配置为检测所述应用是否适合被完整地安装于所述第一操作系统实例;以及确定单元,被配置为响应于所述应用不适合被完整地安装于所述第一操作系统实例,确定第二操作系统实例以用于安装所述应用的至少一部分。
根据本发明的实施例,响应于在操作系统实例上安装应用的请求,可以自动地确定待安装的应用是否与该操作系统实例相兼容。备选地或附加地,可以预测应用能否在该操作系统实例上流畅地工作。如果确定应用不适合被完整地安装在目前的操作系统实例上,则可以智能地选择和/或部署适当的操作系统实例,并且可以将应用的不同部分灵活地分布在各操作系统实例之间。这种智能安装能够提高应用的执行效率,并且显著改善用户体验。本发明的其他特征和优点将通过下文描述而变得容易理解。
附图说明
通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其它目的、特征和优势将变得更加明显其中:
图1示出了适于用来实现本发明实施例的示例性计算机系统/服务器的示意性框图;
图2示出了根据本发明实施例的用于应用安装的方法的示意性流程图;
图3示出了根据本发明实施例的用于基于兼容性检测来安装应用的方法的示意性流程图;
图4示出了根据本发明实施例的用于基于资源使用情况预测来安装应用的方法的示意性流程图;以及
图5示出了根据本发明实施例的用于应用安装的装置的示意性框图。
在附图中,相同或相似的标号被用来表示相同或相似的元素。
具体实施方式
下面将参照附图更详细地描述本公开的优选实施方式。虽然附图中显示了本公开的优选实施方式,然而应该理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了使本公开更加透彻和完整,并且能够将本公开的范围完整地传达给本领域的技术人员。
图1示出了适于用来实现本发明实施方式的示例性计算机系统/服务器12的方框图。图1显示的计算机系统/服务器12仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图1所示,计算机系统/服务器12以通用计算设备的形式表现。计算机系统/服务器12的组件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统组件(包括系统存储器28和处理单元16)的总线18。
总线18表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围组件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以是任何能够被计算机系统/服务器12访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以用于读写不可移动的、非易失性磁介质(图1未显示,通常称为“硬盘驱动器”)。尽管图1中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如CD-ROM,DVD-ROM或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。存储器28可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块42的程序/实用工具40,可以存储在例如存储器28中,这样的程序模块42包括—但不限于—操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块42通常执行本发明所描述的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14(例如键盘、指向设备、显示器24等)通信,还可与一个或者多个使得用户能与该计算机系统/服务器12交互的设备通信,和/或与使得该计算机系统/服务器12能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,可以结合计算机系统/服务器12使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
下面将详细描述本发明实施例的机制和原理。除非特别声明,在下文和权利要求中使用的术语“基于”表示“至少部分地基于”。术语“包括”表示开放性包括,即“包括但不限于”。术语“多个”表示“两个或更多”。术语“一个实施例”表示“至少一个实施例”。术语“另一实施例”表示“至少一个另外的实施例”。其他术语的定义将在下文描述中给出。
图2示出了根据本发明实施例的用于应用安装的方法200的流程图。在一个实施例中,方法200可以由作为安装目标的机器或操作系统的管理程序来实现。备选地,方法200也可以由应用的安装程序来实现。当然,使用任何其他适当的主体来实现方法200同样是可行的。
如图所述,方法200开始于步骤210,在此接收在给定的操作系统实例上安装应用的请求。在此使用的术语“应用”(application)是指可以被安装在机器上并且完成特定任务的任何计算机程序或者软件产品。一般而言,应用由相应的安装程序安装到目标机器的操作系统实例上。
在此使用的术语“操作系统”是指是管理和控制机器的硬件与软件资源的计算机程序。一般而言,操作系统是一种是直接运行在机器上的基本的系统软件,其他应用需要在操作系统的支持下执行。根据本发明的实施例,操作系统可以包括用于固定设备的操作系统,例如Microsoft Windows、Unix、Linux,等等。操作系统也可以包括用于移动设备的操作系统,例如Android、iOS、Symbian等等。
在此使用的术语“操作系统实例”或“实例”(instance)是指操作系统在特定的机器上被实例化之后的结果。也即,当一个操作系统被安装到一个机器之后,便在该机器上创建了该操作系统的一个实例。可以理解,相同的操作系统可以被安装到不同的机器时,从而创建不同的实例。为讨论方便起见,在下文描述中,将作为应用安装目标的操作系统实例称为“第一操作系统实例”。
特别地,在本发明的上下文中,所使用的术语“机器”可以指物理设备,也可以指虚拟机。物理设备可以包括固定设备和/或移动设备。物理设备的示例包括但不限于桌面式计算机,平板式计算机,膝上型计算机,移动电话,寻呼机,个人数字助理(PDA),等等。虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的系统。一个物理设备上可以部署一个或多个虚拟机,每个虚拟机可以运行相应的操作系统。因此,第一操作系统实例和/或下文将要描述的第二操作系统实例都可以是虚拟机操作系统的实例。另外,在某些实施例中,第一操作系统实例和/或第二操作系统实例还可以是虚拟机的宿主机操作系统(hypervisor)。
此外,在此使用的术语“安装”是指将应用部署到目标操作系统实例上、使得应用随后可以在第一操作系统实例处被执行的过程。在一个实施例中,安装过程可以包括将应用注册至目标机器和第一操作系统实例,这例如可以通过创建和/或修改注册表的表项来实现。备选地或附加地,安装过程也可以包括简单地将应用的相关文件下载或解压缩到指定的位置。
根据本发明的实施例,在步骤S210处接收的在第一操作系统实例上安装应用的请求可以由用户发起。例如,在一个实施例中,用户可以通过点击应用安装程序的图标来发出应用安装请求。备选地,应用安装请求也可以被自动地发起。例如,在一个实施例中,应用安装请求可以响应于应用安装程序的下载完成或者任何其他适当的条件而被自动触发。
方法200继而进行到步骤S220,在此检测待安装的应用是否适于被完整地安装于第一操作系统实例。一般地,根据本发明的实施例,检测应用能否被完整地安装包括检测以下一个或多个方面:(1)应用能否被安装,以及(2)应用能否被完全本地安装。相应地,在步骤S220处的检测可以包括兼容性检测和/或资源使用预测。
具体而言,在一个实施例中,可以在步骤S220处检测待安装的应用与第一操作系统实例的兼容性,也即,应用是否能够被安装在第一操作系统实例处。这可以通过各种适当的方式实现。例如,在一个实施例中,可以基于安装程序的类型来确定待安装的应用是否与第一操作系统实例相兼容。安装程序的类型例如可以通过其后缀名来确定。作为示例,如果发现应用安装程序的后缀名是第一操作系统实例不可识别的和/或不可执行的,则可以确定待安装的应用与第一操作系统实例不兼容。
备选地或附加地,在一个实施例中,兼容性检测可以通过解析与应用安装程序相关联的信息来实现。作为示例,关联信息可以包括但不限于:安装程序的属性信息,安装手册(例如,“Readme”文件),其他电子文档材料,等等。例如,某些应用的安装程序的安装手册会指明兼容的目标操作系统。如果发现第一操作系统未在安装手册中被指明,则可以确定待安装的应用与第一操作系统不兼容。任何其他适当的方式均是可行的,本发明的范围在此方面不受限制。
另外,在一个实施例中,兼容性检测还包括对操作系统实例的版本的检测。如已知的,相同的操作系统可能具有多个不同的版本,对于用于移动设备的操作系统而言尤其如此。某些应用可能必须在特定操作系统的特定版本上运行。因此,在步骤S220处,可以检查第一操作系统实例的版本是否满足待安装应用的要求。
除了兼容性检测之外或者作为替代,在一个实施例中,可以在步骤S220处预测应用安装之后的资源使用情况。具体而言,在这样的实施例中,可以确定如果将应用完整地安装于第一操作系统实例,第一操作系统实例所在的机器(称为“目标机器”)上的资源的预计使用量。再一次,这里所说的目标机器可以是物理机器,也可以是虚拟机。
机器的资源的示例包括但不限于以下一个或多个:计算资源,例如可用CPU的类型、数目、频率,等等;存储资源,例如可用存储器的类型、数目、大小,可用磁盘的类型、数目、大小,等等;输入/输出(I/O)资源,例如可用图形处理单元(GPU)的类型、数目、图形加速能力,等等;网络资源,例如所支持的网络通信类型、可用带宽,等等。
根据本发明的实施例,可以通过各种适当的方式来估计应用被完整地安装于第一操作系统实例的情况下所要使用的一个或多个资源的量。例如,在一个实施例中,可以存在关于多种类型应用的资源使用情况的先验知识。在这样的实施例中,可以基于待安装应用的类型和这种先验知识,来确定这类应用在被完整安装和执行的情况下对各类资源的预计使用量。
备选地,在另一实施例中,待安装应用所要使用的资源是该应用的安装程序已知的,并且因此可以由安装程序告知目标机器。又如,待安装应用的安装手册中可以指示该应用所需的最低和/或最优资源。例如,电子手册可以规定:当前应用的执行至少需要100M空闲存储空间和1G Hz主频的CPU。此时,可以使用这种资源配置信息中所指明的资源量作为资源的预计使用量。作为另一示例,资源的预计使用量也可以由用户在安装过程中输入。任何其他的方式均是可行的,本发明的范围在此方面不受限制。
基于资源的预计使用量,可以确定待安装的应用是否适合被完整地安装于第一操作系统实例。总体上,根据本发明的实施例,如果对一个或多个资源的预计使用量过高,则可以确定应用不适合被完整地安装于第一操作系统实例。
具体而言,在一个实施例中,可以将资源的预计使用量与预定阈值进行比较。在一个实施例中,针对不同类型的资源,可以设置不同的阈值。对于任何给定的资源,如果预计使用量高于该资源的预定阈值,则认为该资源的预计使用量过高。如果一个或多个资源的预计使用量被确定为过高,则可以认为应用不适合被完整地安装于第一操作系统实例。
备选地或附加地,为了更加准确地估计应用的完整安装对目标机器的影响,在一个实施例中,可以基于资源的估计使用量,预测目标机器响应于应用的安装而展现出的性能。预测的性能继而可被用于确定应用是否适合被完整地安装于第一操作系统实例。这方面的实施例将在下文详细描述。
继续参考图2,如果在步骤S220确定应用适合被完全被安装于第一操作系统实例,方法200进行到步骤S230,在此将应用完整地安装于第一操作系统实例。这属于常规操作,在此不再赘述其细节。
另一方面,如果在步骤S220确定待安装的应用不适合被完整地安装于第一操作系统实例,方法200进行到步骤S240。在步骤S240,确定另一操作系统实例以便安装应用的至少一部分。为讨论方便起见,在下文描述中,将步骤S240处确定的新操作系统实例称为“第二操作系统实例”。
根据本发明的实施例,第一操作系统实例和第二操作系统实例可以是相同操作系统的实例。当然,第一操作系统实例和第二操作系统实例也可以是不同操作系统的实例。
如上所述,在一个实施例中,可以在步骤S220处检测待安装的应用与第一操作系统实例的兼容性。如果应用与第一操作系统实例不兼容,在步骤S240,可以确定与待安装的应用兼容的第二操作系统实例。此时,第二操作系统实例与第一操作系统实例是不同操作系统的实例。
在一个实施例中,可以从已部署的一个或多个操作系统实例中,选择与待安装的应用相兼容的操作系统实例。例如,可以从已经部署的本地操作系统实例中,选择与应用兼容的第二操作系统实例。这里所说的本地操作系统实例是指与第一操作系统实例被部署在相同物理设备上的操作系统实例。
具体而言,在这样的实施例中,当发现目前处于激活状态的第一操作系统实例与待安装的应用不兼容时,可以自动地检测在部署于目标机器上的其他操作系统实例中是否存在与待安装应用兼容的操作系统实例。如果存在,则可以选择该操作系统实例,作为第二操作系统实例。特别地,第二操作系统实例可以是虚拟机操作系统实例。
考虑一个示例,假设待安装应用是应当运行于Linux下的应用,但是目标机器上目前处于激活状态的第一操作系统实例是Windows系统。此时,如果发现在目标机器所在的物理设备上还部署有Linux系统的实例,则可以将应用安装在Linux系统的实例上。
备选地或附加地,在一个实施例中,可以从已部署的一个或多个远程操作系统实例中,选择与待安装应用兼容的第二操作系统实例。这里所说的远程操作系统实例是指与第一操作系统实例被部署在彼此分离的不同物理设备上的操作系统实例。
例如,在一个实施例中,可以在与目标机器可通信耦合的远程云(cloud)服务器或者任何其他设备上部署的操作系统实例中,选择与待安装应用兼容的第二操作系统实例。换言之,本发明的实施例适用于混合型云计算环境。可以理解,在这样的实施例中,应用将被远程安装。在使用时,可以借助于远程功能调用或者远程桌面之类的功能,在第一操作系统实例处实现用户与应用之间的交互。
备选地或附加地,在一个实施例中,响应于确定第一操作系统实例与待安装的应用不兼容,可以部署与该应用兼容的新操作系统实例作为第二操作系统实例。例如,在一个实施例中,如果发现已经部署的本地和/或远程操作系统实例与待安装应用均不兼容,则可以在资源配置和/或任何其他约束条件允许的情况下,自动地部署与待安装应用兼容的第二操作系统实例。备选地,也可以直接部署兼容的第二操作系统实例,而不是首先在已部署的操作系统实例中查找与应用兼容的操作系统实例。
考虑一个具体示例,假设目标机器上当前部署有操作系统A和B的实例,但是待安装的应用与操作系统C兼容。此时,如果硬件和软件配置允许,可以动态地部署操作系统C的实例,以便应用可以被安装于其上。操作系统C的实例可以被部署在目标机器本地,也可以被部署在例如云服务器的远程位置。
利用兼容性检测,可以显著改善应用安装的智能性。在传统方案中,一旦待安装的应用与目标机器上激活的操作系统实例不兼容,安装过程即行终止。用户将接收到安装的错误信息,并且不得不需要重新获取安装程序或者切换到兼容的操作系统实例。与此相反,根据本发明的实施例,可以在不兼容发生的情况下自动地选择甚至动态地部署与待安装应用兼容的操作系统实例。而且,即便目标机器只支持与待安装应用不兼容的操作系统,也可以成功地完成安装,而无需更换机器、更新服务或者重新安装操作系统。以此方式,应用安装的成功率和用户体验将得到改善。
备选地或附加地,如上所述,在一个实施例中,可以在步骤S220处估计在应用被完整地安装于第一操作系统实例的情况下,目标机器上资源的预计使用量。在这样的实施例中,在步骤S240处,对第二操作系统实例的选择可以通过如下方式完成。
首先,可以基于资源的预计使用量情况,识别应用中不适合被安装在第一操作系统实例处的一个或多个部分。例如,在一个实施例中,可以确定哪些资源的预计使用量过高。继而,可以确定这些资源主要由待安装应用中的哪些模块使用。相应地,这些模块可以被确定为不适合安装于第一操作系统实例的部分。作为示例,假设在步骤S220处确定:如果应用被完整地安装于第一操作系统的实例,则目标机器的CPU的预计使用量过高。而且,假设CPU主要由待安装应用中的浮点运算模块使用。此时,可以确定应用中的浮点运算模块不适合被安装于第一操作系统实例。
继而,可以确定适合安装和执行不宜安装于第一操作系统实例处的应用模块的第二操作系统实例。与上文描述的实施例类似,第二操作系统实例与第一操作系统实例可以位于相同的物理设备,也可以位于不同的物理设备。例如,可以在云服务器或者与目标机器可通信耦合的任何其他设备处,选择和/或部署适合安装和执行应用的至少一部分的第二操作系统实例。
特别地,在一个实施例中,在步骤S240处可以确定不止一个第二操作系统实例以用于安装应用的部分或者全部。例如,如果应用中的两个或更多模块不适合安装于第一操作系统实例,则可以选择多个第二操作系统实例,使得这些模块被分别安装于相应的操作系统实例。
在使用中,这些操作系统实例之间可以彼此通信和协作。对于用户而言,应用的分布式安装可以是透明的。换言之,安装在不同操作系统实例处的应用模块的调用、通信和协调可以在后台完成。从用户的角度看,对应用的使用与本地安装并无不同。特别地,在一个实施例中,应用的所有主要功能模块可以均安装在第二操作系统实例处,而在第一操作系统实例处仅保留与用户界面(UI)有关的部分。
通过以上方式,可以在实际安装之前预测待安装的应用是否适合完全的本地安装。如果不适合,应用可以被灵活地以分布式方式安装在多个操作系统实例处。而且,在一个实施例中,应用中的各个模块在这些操作系统实例之间的划分是由模块的功能和所需资源决定的。这样,可以确保用户随后能够流畅地使用应用。这不仅可能提高应用的执行效率,降低第一设备的工作负载,还可以显著改善用户体验。
仍然参考图2,当在步骤S240选择了第二操作系统实例之后,在一个实施例中,可以自动地将应用中的相应部分分别安装到第一操作系统实例和第二操作系统实例。备选地,在另一实施例中,也可以向用户做出优化安装建议,并且在获得用户确认之后才开始安装。在一个实施例中,可以允许用户对安装建议进行修改。
现在参考图3,其示出了根据本发明的一个实施例的用于基于兼容性检测来安装应用的方法300的示意性流程图。可以理解,方法300是上文参考图2描述的方法200的一种特定实现。
方法300开始于步骤S310,在此接收在第一操作系统实例上安装应用的请求。作为响应,在步骤S320处确定待安装的应用与第一操作系统实例是否兼容。如果兼容(分支“是”),方法300进行到步骤S330,在此安装应用。
如果在步骤S320处确定应用与第一操作系统实例不兼容(分支“否”),方法300进行到步骤S340,在此确定是否存在与待安装的应用相兼容的已部署操作系统的实例。如上所述,根据本发明的实施例,可以从与第一操作实例处于相同或不同物理机器上的已部署操作系统实例中超找兼容的操作系统实例。例如,在一个实施例中,可以首先尝试查找与待安装应用兼容的本地操作系统实例。如果找不到,则查找与待安装应用兼容的远程操作系统实例。当然,这仅仅是示例性的,并非是对本发明范围的任何限制。在备选实施例中,可以优先在云服务器等位置查找与待安装应用兼容的远程操作系统实例。
如果在步骤S340处存在这样的兼容操作系统实例(分支“是”),方法300进行到步骤S350,在此从已部署的兼容操作系统实例中选择一个或多个操作系统实例,以作为第二操作系统实例。
另一方面,如果在步骤S340确定不存在与待安装应用兼容的已部署操作系统的实例(分支“否”),方法300进行到步骤S360,在此确定是否可以部署与应用兼容的操作系统的实例。例如,可以基于目标机器所在的本地物理设备和/或远程设备的资源、硬件/软件配置等因素来做出这一决策。备选地或附加地,在一个实施例中,还可以估计部署兼容的第二操作系统实例的时间。例如,只有在安装时间足够短的情况下,才允许第二操作系统的实时部署。
如果在步骤S360处确定操作系统的部署是可行的(分支“是”),则可以在步骤S370处部署与待安装应用兼容的操作系统实例,即,第二操作系统实例。特别地,在一个实施例中,第二操作系统实例可以是虚拟机操作系统实例。
反之,如果在步骤S360处确定无法部署兼容的操作系统实例(分支“否”),则可以在步骤S380处终止应用安装过程。在一个实施例中,例如,可以向用户显示错误信息。
应当理解,图3所示的实施例仅仅是示例性的,并非意在以任何方式限制本发明的范围。例如,并非一定要首先确定是否存在与待安装应用兼容的已部署操作系统实例(步骤S340和S350)。相反,在备选实施例中,可以直接在本地和/或远程位置部署与待安装应用兼容的已部署操作系统实例(步骤S360和S370),而省略步骤S340和S350。作为又一变形,当第一操作系统实例与待安装的应用不兼容时,可以首先尝试部署兼容的新操作系统实例。如果失败,再从已部署的操作系统实例中查找兼容的操作系统实例。任何其他变形同样是可能的。
图4示出了根据本发明的一个实施例的用于基于资源使用情况的预测来安装应用的方法400的实施例。类似于方法300,方法400同样可被视作上文参考图2描述的方法200的一种特定实现。
方法400开始于步骤S410,在此响应于在第一操作系统实例处安装应用的请求,确定如果应用被完整地安装在第一操作系统实例处,目标机器的一个或多个资源的预计使用量。如上文所述,预计使用量可以基于先验知识、安装程序的电子文档和/或用户输入等各种信息来确定。
接下来,在步骤S420,基于资源的预计使用量来估计在应用被完整地安装于第一操作系统实例的情况下,第一操作系统实例所在的目标机器的性能。
在一个实施例中,对于任何给定的资源,可以基于该资源的预计使用量以及目标机器中该资源的总量和/或当前可用量,来估计目标机器在应用安装后的性能。例如,如果资源的预计使用量接近了该资源的总量,和/或超过了当前可用量,则可以认为应用的安装将导致目标机器的与该资源相关联的性能降低。
备选地或附加地,为了更加准确地估计应用安装对目标机器性能的影响,在一个实施例中,可以在第一操作系统实例处发起对预计使用量的资源的仿真使用。作为示例,假设在步骤S410处确定应用在执行中需要使用特定量的CPU时间和存储空间。此时,在步骤S420,安装程序可以向第一操作系统实例请求相应的CPU时间和存储空间。随后,可以检测目标机器响应于对资源的仿真使用而展现的性能。例如,可以检测第一设备的一个或多个性能指标,包括但不限于CPU使用率、存储空间使用率、GPU使用率、网络带宽使用率、I/O响应时间,等等。
接下来,方法400进行到在步骤S430,在此基于在步骤S420处估计到的性能,来确定应用是否适合被完整地安装在第一操作系统实例处。在一个示例中,如果在步骤S420处检测到的每个性能指标均高于相应的阈值性能,则可以在步骤S430处确定应用可以被完整地安装在第一操作系统实例处。相应地,方法400可以进行到步骤S440,在此进行应用的本地安装。也即,应用可以被完整地安装于第一操作系统实例。
相反,如果一个或多个性能指标低于预定的阈值,则可以在步骤S430处确定应用不合适完全的本地安装。此时,方法400进行到步骤S450,在此选择第二操作系统实例,以便安装应用中不适合被安装于第一操作系统实例的至少一部分。如上所述,第二操作系统实例与第一操作系统实例可以共存于相同的物理设备上,也可以运行在彼此远程定位的不同物理设备中。
特别地,在一个实施例中,在步骤S450处,可以基于在步骤S410处确定的资源的预计使用量,来选择第二操作系统实例。具体而言,对于任何给定的资源,如果该资源的预计使用量过高(例如,超过阈值,和/或引起相关性能的显著下降),则应用中主要消耗该资源的模块可以被确定为不适合安装在第一操作系统实例处。此时,可以选择和/或部署适合安装这些模块的第二操作系统实例。
作为示例,假设如果将应用完整地安装于第一操作系统实例,则将占用过多的存储空间从而导致目标机器的性能下降。此时,可以选择可用存储空间较大的第二操作系统实例,并且将应用中比较消耗存储空间的一个或多个模块安装于第二操作系统实例。例如,可以选择部署于云服务器上的操作系统实例作为第二操作系统实例。以此方式,应用的不同部分可以根据其功能和资源需求而被安装于适当的操作系统实例,从而最大限度地确保应用的流畅执行。
应当理解,上文描述的方法300和400可以单独使用,也可以结合使用。例如,在一个实施例中,可以首先使用方法300来检验待安装的应用与第一操作系统实例的兼容性。如果二者相兼容,则可以执行方法400,以便基于对资源使用情况的预测来执行智能的分布式安装。
图5示出了根据本发明实施例的用于应用安装的装置500的示意性框图。如图所示,根据本发明的实施例,装置500包括:请求接收单元510,被配置为接收在第一操作系统实例上安装应用的请求;安装检测单元520,被配置为检测所述应用是否适合被完整地安装于所述第一操作系统实例;以及确定单元530,被配置为响应于所述应用不适合被完整地安装于所述第一操作系统实例,确定第二操作系统实例以用于安装所述应用的至少一部分。
在一个实施例中,所述安装检测单元520可以包括:兼容性检测单元,被配置为检测所述应用与所述第一操作系统实例的兼容性。在一个实施例中,所述确定单元530可以包括:选择单元,被配置为响应于所述应用与所述第一操作系统实例不兼容,从一个或多个已部署操作系统实例中,选择与所述应用相兼容的所述第二操作系统实例。备选地或附加地,在一个实施例中,所述确定单元530可以包括:部署单元,被配置为响应于所述应用与所述第一操作系统实例不兼容,部署与所述应用相兼容的新操作系统实例,作为所述第二操作系统实例。
在一个实施例中,所述安装检测单元520可以包括:资源使用确定单元,被配置为确定在所述应用被完整地安装于所述第一操作系统实例的情况下、目标机器上的资源的预计使用量,所述第一操作系统实例运行于所述目标机器上;以及第一检测单元,被配置为基于所述资源的所述预计使用量来检测所述应用是否适合被完整地安装于所述第一操作系统实例。
在一个实施例中,所述第一检测单元可以包括:性能估计单元,被配置为基于所述资源的所述预计使用量,估计所述应用被完整地安装于所述第一操作系统实例的情况下所述目标机器的性能;以及第二检测单元,被配置为基于所述目标机器的所述性能来检测所述应用是否适合被完整地安装于所述第一操作系统实例。
在一个实施例中,所述性能估计单元可以包括:仿真单元,被配置为在所述第一操作系统实例处,发起对所述预计使用量的所述资源的仿真使用;以及性能检测单元,被配置为检测所述目标机器响应于所述仿真使用的所述性能。
在一个实施例中,所述确定单元530可以包括:识别单元,被配置为基于所述资源的所述预计使用量,识别所述应用中不适合被安装于所述第一操作系统实例的所述至少一部分;以及第一确定单元,被配置为确定适合安装所述应用的所述至少一部分的所述第二操作系统实例。
在一个实施例中,所述资源包括所述目标机器的计算资源、存储资源、网络资源和输入/输出资源中的至少一项。
在一个实施例中,所述确定单元530包括以下至少一项:本地确定单元,被配置为确定与所述第一操作系统实例位于相同物理设备的所述第二操作系统实例;以及远程确定单元,被配置为确定与所述第一操作系统实例位于不同物理设备的所述第二操作系统实例。
应当注意,为清晰起见,图5中没有示出装置500所包括的可选单元或者子单元。上文所描述的所有特征和操作分别适用于装置500,故在此不再赘述。而且,装置500中的单元或子单元的划分不是限制性的而是示例性的,旨在从逻辑上描述其主要功能或操作。一个单元的功能可以由多个单元来实现;反之,多个单元亦可由一个单元来实现。本发明的范围在此方面不受限制。
而且,装置500所包含的单元可以利用各种方式来实现,包括软件、硬件、固件或其任意组合。例如,在某些实施方式中,装置500可以利用软件和/或固件来实现。备选地或附加地,装置500可以部分地或者完全地基于硬件来实现。例如,装置500中的一个或多个单元可以实现为集成电路(IC)芯片、专用集成电路(ASIC)、片上系统(SOC)、现场可编程门阵列(FPGA),等等。本发明的范围在此方面不受限制。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是—但不限于—电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Java、Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
计算机可读程序指令也可加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中技术的技术改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (18)

1.一种用于应用安装的方法,包括:
接收在第一操作系统实例上安装应用的请求;
检测所述应用是否适合被完整地安装于所述第一操作系统实例;以及
响应于所述应用不适合被完整地安装于所述第一操作系统实例,确定第二操作系统实例以用于安装所述应用的至少一部分;
其中检测所述应用是否适合被完整地安装于所述第一操作系统实例包括:
确定在所述应用被完整地安装于所述第一操作系统实例的情况下、目标机器上的资源的预计使用量,所述第一操作系统实例运行于所述目标机器上;以及
基于所述资源的所述预计使用量来检测所述应用是否适合被完整地安装于所述第一操作系统实例。
2.根据权利要求1所述的方法,其中检测所述应用是否适合被完整地安装于所述第一操作系统实例还包括:
检测所述应用与所述第一操作系统实例的兼容性。
3.根据权利要求2所述的方法,其中响应于所述应用不适合被完整地安装于所述第一操作系统实例,确定第二操作系统实例以用于安装所述应用的至少一部分包括:
响应于所述应用与所述第一操作系统实例不兼容,从一个或多个已部署操作系统实例中,选择与所述应用相兼容的所述第二操作系统实例。
4.根据权利要求2所述的方法,其中响应于所述应用不适合被完整地安装于所述第一操作系统实例,确定第二操作系统实例以用于安装所述应用的至少一部分包括:
响应于所述应用与所述第一操作系统实例不兼容,部署与所述应用相兼容的新操作系统实例,作为所述第二操作系统实例。
5.根据权利要求1所述的方法,其中基于所述资源的所述预计使用量来检测所述应用是否适合被完整地安装于所述第一操作系统实例包括:
基于所述资源的所述预计使用量,估计所述应用被完整地安装于所述第一操作系统实例的情况下所述目标机器的性能;以及
基于所述目标机器的所述性能来检测所述应用是否适合被完整地安装于所述第一操作系统实例。
6.根据权利要求5所述的方法,其中估计所述应用被完整地安装于所述第一操作系统实例的情况下所述目标机器的性能包括:
在所述第一操作系统实例处,发起对所述预计使用量的所述资源的仿真使用;以及
检测所述目标机器响应于所述仿真使用的所述性能。
7.根据权利要求1所述的方法,其中确定第二操作系统实例包括:
基于所述资源的所述预计使用量,识别所述应用中不适合被安装于所述第一操作系统实例的所述至少一部分;以及
确定适合安装所述应用的所述至少一部分的所述第二操作系统实例。
8.根据权利要求1所述的方法,其中所述资源包括所述目标机器的计算资源、存储资源、网络资源和输入/输出资源中的至少一项。
9.根据权利要求1到8任一项所述的方法,其中确定第二操作系统实例包括以下至少一项:
确定与所述第一操作系统实例位于相同物理设备的所述第二操作系统实例;以及
确定与所述第一操作系统实例位于不同物理设备的所述第二操作系统实例。
10.一种用于应用安装的装置,包括:
请求接收单元,被配置为接收在第一操作系统实例上安装应用的请求;
安装检测单元,被配置为检测所述应用是否适合被完整地安装于所述第一操作系统实例;以及
确定单元,被配置为响应于所述应用不适合被完整地安装于所述第一操作系统实例,确定第二操作系统实例以用于安装所述应用的至少一部分;
其中所述安装检测单元包括:
资源使用确定单元,被配置为确定在所述应用被完整地安装于所述第一操作系统实例的情况下、目标机器上的资源的预计使用量,所述第一操作系统实例运行于所述目标机器上;以及
第一检测单元,被配置为基于所述资源的所述预计使用量来检测所述应用是否适合被完整地安装于所述第一操作系统实例。
11.根据权利要求10所述的装置,其中所述安装检测单元还包括:
兼容性检测单元,被配置为检测所述应用与所述第一操作系统实例的兼容性。
12.根据权利要求11所述的装置,其中所述确定单元包括:
选择单元,被配置为响应于所述应用与所述第一操作系统实例不兼容,从一个或多个已部署操作系统实例中,选择与所述应用相兼容的所述第二操作系统实例。
13.根据权利要求11所述的装置,其中所述确定单元包括:
部署单元,被配置为响应于所述应用与所述第一操作系统实例不兼容,部署与所述应用相兼容的新操作系统实例,作为所述第二操作系统实例。
14.根据权利要求10所述的装置,其中所述第一检测单元包括:
性能估计单元,被配置为基于所述资源的所述预计使用量,估计所述应用被完整地安装于所述第一操作系统实例的情况下所述目标机器的性能;以及
第二检测单元,被配置为基于所述目标机器的所述性能来检测所述应用是否适合被完整地安装于所述第一操作系统实例。
15.根据权利要求14所述的装置,其中所述性能估计单元包括:
仿真单元,被配置为在所述第一操作系统实例处,发起对所述预计使用量的所述资源的仿真使用;以及
性能检测单元,被配置为检测所述目标机器响应于所述仿真使用的所述性能。
16.根据权利要求10所述的装置,其中所述确定单元包括:
识别单元,被配置为基于所述资源的所述预计使用量,识别所述应用中不适合被安装于所述第一操作系统实例的所述至少一部分;以及
第一确定单元,被配置为确定适合安装所述应用的所述至少一部分的所述第二操作系统实例。
17.根据权利要求10所述的装置,其中所述资源包括所述目标机器的计算资源、存储资源、网络资源和输入/输出资源中的至少一项。
18.根据权利要求10到17任一项所述的装置,其中所述确定单元包括以下至少一项:
本地确定单元,被配置为确定与所述第一操作系统实例位于相同物理设备的所述第二操作系统实例;以及
远程确定单元,被配置为确定与所述第一操作系统实例位于不同物理设备的所述第二操作系统实例。
CN201410437988.8A 2014-08-29 2014-08-29 用于应用安装的方法和装置 Expired - Fee Related CN105446760B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410437988.8A CN105446760B (zh) 2014-08-29 2014-08-29 用于应用安装的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410437988.8A CN105446760B (zh) 2014-08-29 2014-08-29 用于应用安装的方法和装置

Publications (2)

Publication Number Publication Date
CN105446760A CN105446760A (zh) 2016-03-30
CN105446760B true CN105446760B (zh) 2019-02-15

Family

ID=55557005

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410437988.8A Expired - Fee Related CN105446760B (zh) 2014-08-29 2014-08-29 用于应用安装的方法和装置

Country Status (1)

Country Link
CN (1) CN105446760B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105975302A (zh) * 2016-05-03 2016-09-28 深圳市金立通信设备有限公司 一种应用安装方法及终端
CN106095567B (zh) * 2016-05-31 2019-08-30 Oppo广东移动通信有限公司 一种安装任务的分配方法及移动终端
CN113626041A (zh) * 2020-05-09 2021-11-09 华为技术有限公司 安装应用程序的方法、装置、终端设备和存储介质
CN114816442A (zh) * 2021-01-22 2022-07-29 华为技术有限公司 分布式应用的处理方法和装置

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000132397A (ja) * 1998-10-22 2000-05-12 Hitachi Ltd クライアントとサーバおよびそれらを用いたソフトウェア配布システム
US6363402B1 (en) * 1997-12-17 2002-03-26 Sony Corporation System and method insuring application and operating system operational compatibility
CN103197964A (zh) * 2012-01-09 2013-07-10 华硕电脑股份有限公司 在电子装置的多个操作系统间进行信息交换的方法
CN103327117A (zh) * 2013-07-05 2013-09-25 百度在线网络技术(北京)有限公司 应用程序的跨系统运行方法和装置
CN103493016A (zh) * 2011-04-21 2014-01-01 惠普发展公司,有限责任合伙企业 将应用程序安装到虚拟化环境中
CN103677861A (zh) * 2012-08-31 2014-03-26 鸿富锦精密工业(深圳)有限公司 软件安装系统及方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4168338B2 (ja) * 2003-09-18 2008-10-22 ブラザー工業株式会社 インストールプログラム、コンピュータ読取可能な記録媒体、及びインストール方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6363402B1 (en) * 1997-12-17 2002-03-26 Sony Corporation System and method insuring application and operating system operational compatibility
JP2000132397A (ja) * 1998-10-22 2000-05-12 Hitachi Ltd クライアントとサーバおよびそれらを用いたソフトウェア配布システム
CN103493016A (zh) * 2011-04-21 2014-01-01 惠普发展公司,有限责任合伙企业 将应用程序安装到虚拟化环境中
CN103197964A (zh) * 2012-01-09 2013-07-10 华硕电脑股份有限公司 在电子装置的多个操作系统间进行信息交换的方法
CN103677861A (zh) * 2012-08-31 2014-03-26 鸿富锦精密工业(深圳)有限公司 软件安装系统及方法
CN103327117A (zh) * 2013-07-05 2013-09-25 百度在线网络技术(北京)有限公司 应用程序的跨系统运行方法和装置

Also Published As

Publication number Publication date
CN105446760A (zh) 2016-03-30

Similar Documents

Publication Publication Date Title
US11675620B2 (en) Methods and apparatus to automate deployments of software defined data centers based on automation plan and user-provided parameter values
US12074774B2 (en) Methods, systems, and apparatus to scale in and/or scale out resources managed by a cloud automation system
US20210111957A1 (en) Methods, systems and apparatus to propagate node configuration changes to services in a distributed environment
US10810017B2 (en) Systems and methods for handling firmware driver dependencies in host operating systems while applying updates from bootable image file
US11816470B2 (en) Impact driven continuous deployment system
US9912760B2 (en) Dynamically generating solution stacks
CN105446760B (zh) 用于应用安装的方法和装置
US10198272B2 (en) Firmware display of paired bluetooth status information during boot
US8863120B2 (en) Launching a software application in a virtual environment
US20190068458A1 (en) Methods and apparatus to generate user interface virtual resource provisioning request forms
WO2015078294A1 (en) Kernel module loading method and apparatus
WO2018209843A1 (zh) 一种执行热补丁的方法、装置及终端
US20130204918A1 (en) Computing environment configuration and initialization
CN113127050B (zh) 一种应用资源打包过程监控方法、装置、设备和介质
CN113760306B (zh) 安装软件的方法、装置、电子设备及存储介质
US20240038234A1 (en) Voice-assistant activated virtual card replacement
US20160011882A1 (en) Resource advisor for automated bare-metal operating system installation
US10684895B1 (en) Systems and methods for managing containerized applications in a flexible appliance platform
US20160048389A1 (en) System and method for supporting part replacement
KR20130067526A (ko) 가상 환경 관리 방법 및 이를 이용한 단말 장치
US11340882B2 (en) Systems and methods for enforcing update policies while applying updates from bootable image file
US12066974B2 (en) Systems and methods for end-to-end workload modeling for servers
US11514073B2 (en) Methods and apparatus to generate virtual resource provisioning visualizations
US9497253B2 (en) Authorization review system
KR101997629B1 (ko) 모델링 언어를 이용한 서비스 인프라스트럭처 생성 방법 및 그 장치

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

Granted publication date: 20190215

Termination date: 20200829

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