CN103493011A - 与库操作系统的应用兼容性 - Google Patents
与库操作系统的应用兼容性 Download PDFInfo
- Publication number
- CN103493011A CN103493011A CN201280011551.7A CN201280011551A CN103493011A CN 103493011 A CN103493011 A CN 103493011A CN 201280011551 A CN201280011551 A CN 201280011551A CN 103493011 A CN103493011 A CN 103493011A
- Authority
- CN
- China
- Prior art keywords
- operating systems
- application
- operating system
- library
- compatible
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45575—Starting, stopping, suspending or resuming virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
通过使用库操作系统来促进应用兼容性。库操作系统可封装应用的可能破坏应用兼容性的各部分应用可被绑定到在主机操作系统之上运行的兼容库操作系统。此外,库操作系统版本可大于、等于,或小于主机操作系统的版本。因此,允许向后和向前的兼容性两者。
Description
背景技术
针对操作系统(OS)构造的库方法被1990年代设计的若干操作系统支持。库OS的概念是应用所依赖的OS的全部个性作为库运行在其地址空间。OS个性是对OS的应用编程接口(API)和应用可见语义(用来构建应用的OS服务)的实现。库OS方法的早先建议者最初争辩道:库OS能够通过对各应用的定制来允许更好的性能。例如,具有特殊文件访问模式的盘I/O绑定应用可通过使用自定义的文件-系统存储栈而非使用默认的顺序预取试探法来实现更好的性能。
和与它同时代的许多方法相似,库OS方法被很大程度上遗忘了,这是由现代虚拟机的增长而造成的。当大多数当代的新的OS设计(包括库OS设计)仅使少数自定义应用运行在小的研究模型上时,虚拟机系统因其能够通过重新使用现存的特征丰富的操作系统来运行较多应用而激增。库OS设计所提供的性能益处没有克服传统兼容性的需求。
发明内容
下面呈现了简化的发明内容,以便提供对所公开主题的某些方面的基本概念。本发明内容不是广泛性的概观。它并不旨在标识关键/重要元素,也不旨在划定所要求保护主题的范围。其唯一目的是以简化形式呈现一些概念,作为稍后呈现的更具体实施例的序言。
简单描述了的,所揭示的主题涉及与库操作系统的应用兼容性。应用可被绑定到兼容库操作系统。库操作系统可封装操作系统的最可能破坏应用兼容性的各部分并且可运行在主机操作系统的顶部。库操作系统的版本可以小于、等于,或大于主机操作系统的版本。因此,通过将应用绑定到合适的库操作系统,允许向后以及向前的兼容性。
为实现上述及相关目的,在此结合以下描述和附图描述了所要求保护主题的某些说明性方面。这些方面指示可实践本主题的各种方式,它们均落在所要求保护主题的范围之内。当结合附图阅读以下详细描述时,本发明的其他优点和新颖特征将变得显而易见。
附图说明
图1是促进应用兼容性的系统的框图。
图2是示例性库操作系统体系结构的示意性框图。
图3是促进应用兼容性的系统的框图。
图4是促进兼容性的方法的流程图。
图5是主机操作系统替代的方法的流程图。
图6是示出用于本公开各方面的合适操作环境的示意性框图。
具体实施方式
操作系统提供应用程序(或简单地,应用)和计算机硬件之间的接口,以允许应用与硬件交互。
针对特定操作系统开发应用。然而,操作系统随各发布(例如Windows不同的服务包…)而改变,结果,维持与应用的兼容性是巨大的挑战。例如,如果一应用是针对操作系统的版本一而开发的,而计算机升级到了版本二,该应用可能不再以正确方式工作或运行。当操作系统厂商花费可观的资源维持兼容性时,每个操作系统的发布不可避免地导致大量坏了的应用。这对于丰富且关键的业务线(LOB)应用因新的操作系统发布而被破坏的企业而言特别麻烦。
一种解决兼容性问题的方法是使用虚拟机技术。不同操作系统可同时运行在不同的虚拟机上,应用可在兼容的虚拟机上执行。在此,应用与特定的全特征的操作系统一起被打包到单个单元中,且因此应用将总是运行在那个经打包的操作系统上,而不考虑虚拟机运行于其上的主机操作系统。此外,运行操作系统的完全不同的副本存在严重的性能和资源开销。实践中,消费者设备可能仅仅能够同时运行一个或两个虚拟机,造成其难以运行许多不同应用。
以下细节大体针对与库操作系统的应用兼容性。使用库操作系统可获得与虚拟机技术相同的益处,但是是以小的开销和性能成本来获得该益处的。此外,应用无需如通常做的那样与操作系统一起打包。相反,应用可与操作系统分开打包,尽管对特定操作系统或其版本存在强依赖性。作为结果,在不同的操作系统版本实例上运行各不同的应用是可行的。
更具体地,应用可被绑定到封装有操作系统的最可能破坏应用兼容性的各部分的兼容库操作系统。在一个实施例中,多个库操作系统可与主机操作系统打包在一起。在启动了应用的执行后,兼容库操作系统可被绑定到该应用并被加载到该应用的地址空间中。兼容的库操作系统的版本可以小于、等于,或大于主机操作系统的版本。因此,特别地,与操作系统的较早或传统版本的向后兼容性(又称兼容性)被允许,且与操作系统的较新近版本的向前兼容性(又称逆兼容性)也被允许。
现在参考附图更详细地描述本发明的各个方面,在全部附图中用相似的标记来指示相似或相应的元素。然而应该理解,附图及其相关详细描述不旨在将所要求保护的主题限于所公开的具体形式。相反,其意图是覆盖落在所要求保护主题的精神和范围之内的所有修改、等价物和替换的方案。
首先参考图1,示出了促进应用兼容性的系统100。系统100包括选择组件110和绑定组件120。选择组件110接收、取回或以其他方式得到或获取软件应用(或简单地,应用),和/或关于该应用的信息等。此外,选择组件110被配置来,例如,基于应用和/或关于该应用的信息来标识、确定,或推断与该应用兼容的库操作系统。绑定组件120被配置来将应用与由选择组件110标识的兼容库操作系统进行绑定(即,进行关联)。根据一个方面,与至少绑定组件120相关联的功能可在运行时被执行。例如,在启动应用的执行后,应用可与兼容库操作系统动态地绑定。
选择组件110可以以各种方式选择兼容库操作系统。在一个实施例中,应用可包括标识兼容操作系统和/或库操作系统的清单文件或类似结构,或与其相关联。在这个实例中,选择组件110可被配置来从清单文件中标识出兼容库操作系统。在另一个实施例中,应用和相关联的功能可被分析,并基于此可确定或推断兼容库操作系统。在又一个实施例中,选择组件110可被配置来向应用用户、管理员,或其它个体查询哪个库操作系统与应用兼容。在一个特定实例中,可尝试多个库操作系统,且用户可标识出哪个库操作系统工作得最好。此外,可使用混合方法,诸如推断库操作系统与应用兼容,并允许应用的用户确认或否认该推断出的兼容库操作系统。此外,应用可以与多于一个操作系统兼容或兼容到一定程度。在任何情况下,选择组件110可标识一个或多个兼容库操作系统。
如上所述,绑定组件120被配置来将应用绑定到兼容库操作系统。例如,可用的库操作系统中的一个兼容库操作系统与应用相关联。随后,例如,库操作系统可被加载到应用的地址空间。这样的加载也可由绑定组件120或某一其它组件在运行时执行。
根据一个方面,库操作系统可封装操作系统的最可能破坏应用兼容性的各部分。因此,库操作系统提供了解决应用兼容性问题的机制。具体而言,库操作系统可在主机操作系统的顶部操作并且可被各应用按需采用。在某种意义上,每个应用可以与作为其选择的库操作系统一起运行,由此消除了兼容性问题。
这样的库操作系统可通过以特定方式重构常规库操作系统来生成。更具体地,应用服务(例如,框架、渲染引擎、普通用户界面控件、语言运行时…)可被打包在库操作系统中,而用户服务(例如,图形用户界面、剪贴板、搜索索引器)和硬件服务(例如,OS内核、设备驱动器、文件系统…)与主机操作系统打包在一起。在一个示例中,可产生大小为完整操作系统的50分之1的库操作系统。这个库操作系统与先前库操作系统设计不同,它意在通过向应用暴露低级硬件抽象来向应用提供自定义的性能增强。这些先前设计向应用提供对硬件资源(诸如页表、网络分组和盘块)的精细粒度的自定义控制。在此,采用的库操作系统按其目的而不同,且因此特别地提供促进应用兼容性的较高级别抽象。
注意力转到图2,示出了示例性库操作系统体系结构200。如所述,体系结构200包括主机操作系统210,它是安装在计算机上的主操作系统。在大部分情况下,主机操作系统210是唯一操作系统。在此,然而,猜想几个库操作系统220(库操作系统1-库操作系统M,其中M是正整数)在主机操作系统210之上或之内操作。一些应用230(应用1-应用N,其中N是正整数)在兼容库操作系统220之上执行。多个库操作系统220的每个捕捉应用所依赖的且可在应用的地址空间中作为库运行的操作系统的个性(例如,用来构建应用的应用编程接口和应用语义)。因此,库操作系统可封装操作系统的最可能破坏应用兼容性的各部分(例如应用服务)。
体系结构200类似常规虚拟机体系结构,但是不是采用完整的操作系统,而是采用库操作系统。资源开销因此显著减少。例如,不是为了运行操作系统的完整单独副本而消费512MB的随机存取存储器(RAM)和5GB的盘空间,而是由库操作系统消费少于16MB的RAM和64MB的盘空间。实践中,典型的消费者设备可能只能运行整个常规操作系统的一个或两个副本,这使该设备难以运行许多不同的应用。然而,通过用库操作系统来取代常规操作系统,可非常容易地支持需要操作系统的不同版本的许多不同应用。
库操作系统220的版本可以小于、等于,或大于主机操作系统210的版本。因此,对于使用库操作系统的应用而言,向后和向前的兼容性被允许。
根据一个实施例,主机操作系统210可与一个或多个库操作系统220一起被打包。换言之,主机操作系统210可将一个或多个库操作系统的集合包括在,例如,库操作系统存储212中。例如,特别地,库操作系统可被存储在盘上与主机操作系统平行的目录中。应用可被绑定到相对于主机操作系统210包括的库操作系统之一。这样的一个操作系统可随后被加载或复制到应用的地址空间中。这个解决了向后兼容性(又称,兼容性),因为主机操作系统210可包括先前(或传统)库操作系统的至少一个子集。例如,为操作系统的先前版本设计的应用,可通过采用与该操作系统的最近版本打包在一起的库操作系统而在该操作系统的最近版本上运行。向前兼容性(又称,逆兼容性)也被解决。
与在操作系统的较新近版本上执行为操作系统的先前版本所写的应用不同,为较新近的操作系统版本所写的应用也可运行在操作系统的先前版本上。通常,通过应用编程接口(API)的途径向主机操作系统的特定版本尝试应用。因此,在大部分消费者可能还未升级到新操作系统时,开发者会面临是否将新的主机操作系统作为目标的困境。结果,开发者采用以新操作系统为目标的API的时间通常存在延迟,直到操作系统获得足够用户(通常称为安装基础)来调整到以新操作系统为目标。通过使用库操作系统,开发者可以以最晚的操作系统为目标,并且在下一个级别上运行应用,或,换言之,在运行有操作系统的较旧版本的计算机上运行应用。由于兼容性问题存在于库操作系统中,因此可相对于操作系统的新版本采用库操作系统,且因此应用可以以最新近API为目标。在一个实例中,可收取许可费来允许在较新的库OS中以最晚操作系统特征为目标
此外,通过允许主机和应用分开地进展,主机操作系统的改变无需破坏应用。例如,假设主机操作系统被升级到新版本。在升级时,计算机上安装的应用可被重新配置以在与操作系统的先前版本匹配的库操作系统上执行。
根据一个实施例,应用230和库操作系统220的每个组合可在微微进程(picoprocess)240内操作,而无需访问主机操作系统210的全部服务,微微进程是从操作系统进程地址空间中构建的轻量、安全的隔离容器。换言之,应用可被装入沙箱,使得行为不良的应用不能危及其它应用或其主机。微微进程中运行的代码可利用由图2中的箭头所表示的、与主机操作系统210的接口,该接口遵循硬件虚拟机的设计模式。接口调用可由主机操作系统210的安全监视器组件(未示出)来提供服务,该安全监视器组件在功能上类似于系统管理程序或虚拟机监视器之于常规硬件虚拟机。
在库操作系统与主机操作系统一起被打包在例如库操作系统存储212中的情况下,维护更容易。用于更新主机操作系统210的机制可被使用来更新与主机操作系统一起打包的库操作系统。例如,为了安全更新和正确性修复,库操作系统可被主机操作系统210中的更新工具打上补丁。此外,通过在运行时将库操作系统绑定到应用,最晚的库操作系统可被利用,而不是将其绑定到其它版本。
此外,被用来更新主机操作系统210的机制可被采用,以在主机操作系统被传送或换言之被递送到客户之后安装新的库操作系统。例如,如果基于主机操作系统的服务确定库操作系统的新版本可用,则新的库操作系统可被获取并被保存。
图3示出促进应用兼容性的的系统300。类似于图1的系统100,系统300包括如前所述的选择组件110和绑定组件120。简言之,选择组件110被配置来选择或标识与应用兼容的库操作系统,而绑定组件120被配置来将应用与库操作系统绑定。先前,系统100假设必要的库操作系统对应用的的本地可用性。然而,在一些实例中,可能不是这样的情况。获取部件320解决这个问题。更具体地,获取组件320可被配置来,例如从公众可访问或以其它方式可访问的网站获取库操作系统。在一个特定实例中,获取组件320可被配置以通过主机操作系统更新机制的方式来触发对库操作系统的下载。总之,如果选择组件110为应用标识了系统上不存在的库操作系统,则绑定组件120被配置以通过获取组件320的方式来获取该库操作系统。
各种库操作系统和主机操作系统可共存在一个计算机上。作为例子,与主机操作系统一起考虑库操作系统一个可能的布局:
C:\Windows\System32
C:\Windows\SysWOW64
C:\Windows\Windows.6.2.8102.Win8BUILD
C:\Windows\Windows.6.1.7601.Win7SP1
C:\Windows\Windows.6.1.7600.Win7RTM
C:\Windows\Windows.6.0.6002.VistaSP2
C:\Windows\Windows.6.0.6001.VistaSP1
C:\Windows\Windows.6.0.6000.VistaRTM
C:\Windows\Windows.5.1.2600.WinXPSP3
在这个例子中,“System32”目录树包含64位主机操作系统。目录树“SysWOW64”包含运行在64位主机操作系统上的主机操作系统的32位文件。其它目录树包括来自更早的操作系统(Win7SP1,Win7RTM,VistaSP2,VistaSP1,VistaRTM,WinXPSP3)或更晚的操作系统(Win8BUILD)的库操作系统。
参考若干组件之间的交互已经描述了上述系统、架构、环境等。应该理解,这样的系统和组件可以包括其中指定的那些组件或子组件,某些指定的组件或子组件,和/或附加的组件。子组件也可以被实现为在通信上被耦合到其他组件而不是被包括在父组件中的组件。此外,一个或多个组件和/或子组件可以组合成提供聚集功能的单个组件。系统、组件、和/或子组件之间的通信可以根据推送和/或拉取模型来实现。组件也可以与一个或多个其他组件进行交互,出于简要考虑在此未具体描述其他组件,但本领域的技术人员均已知。
此外,以上公开系统以及以下方法的各个部分可以包括或采用基于人工智能、机器学习或知识或规则的组件、子组件、进程、装置、方法或机制(例如,支持向量机、神经网络、专家系统、贝叶斯信任网络、模糊逻辑、数据融合引擎、分类器等)。这样的组件和其它组件可以自动化其执行的某些机制或过程,由此使得系统和方法的各部分更为自适应以及高效及智能。作为示例而非限制,选择组件110可采用这样的机制来确定兼容库操作系统。
考虑到以上描述的示例性系统,参考图4的流程图将更好地理解可以依照所公开主题而实现的方法。尽管为了说明简洁起见,按照一系列框示出和描述了方法,但是,应该理解和知道,所要求保护的主题不限于框的次序,因为一些框可以按与此处所描绘和描述的不同的次序进行和/或与其他框并发地进行。此外,并非全部所示出的框都是实现下面所描述的方法所必需的。
参考图4,示出促进兼容性的方法400。在附图标记410,确定应用的兼容库操作系统,其中库操作系统封装常规操作系统的最可能破坏应用兼容性的各部分。在一个示例中,库操作系统可从与应用相关联的清单文件中被标识出来,从个体(例如,终端用户、编程人员、管理员…)获取,或以其它方式从应用的分析中确定或推断。在附图标记420,作出关于所确定的库操作系统是否可用的判定。如果库操作系统在计算机的本地不可用(“否”),则在430从远程位置获取库操作系统。或者,如果库操作系统可用(“是”),则方法400继续到附图标记440,在那儿应用被绑定到库操作系统。尽管在此没有示出,当应用与多个操作系统兼容时,可采用其它本地库操作系统之一,而非远程地获取库操作系统。一旦启动应用的执行,绑定库系统可被加载到应用的地址空间中。
图5是主机操作系统替代的方法500的流程图。在附图标记510,将应用从主机操作系统重新绑定到相同版本的库操作系统。在附图标记520,主机操作系统被替代。以此方式,主机操作系统可通过将应用转移到兼容库操作系统来升级/更新,而无需破坏这些应用。
此处使用的术语“组件”,“系统”,“体系结构”及其各种形式(例如,组件、系统、子系统等)旨在表示与计算机相关的实体,其可以是硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可以是但不限于是,在处理器上运行的进程、处理器、对象、实例、可执行程序、执行的线程、程序和/或计算机。作为说明,在计算机上运行的应用和计算机两者都可以是组件。一个或多个组件可以驻留在进程和/或执行线程中,并且组件可以位于一个计算机内和/或分布在两个或更多计算机之间。
在本文中使用的词语“示例性”或其各种形式意味着用作示例、实例或说明。在此被描述为“示例性”的任何方面或设计并不一定要被解释为相比其它方面或设计更优选或有利。此外,各示例只是出于清楚和理解的目的来提供的并且并不意味着以任何方式限制或约束所要求保护主题或本发明的相关部分。可以理解,本来可呈现不同范围的多个附加或替换示例,但出于简明的目的已被省略。
本描述和所附权利要求书中使用的连接词“或”旨在意味着包括性“或”而非互斥性“或”,除非另有指定或从上下文中清晰可见。换言之,“‘X’或‘Y’”旨在意味着“X”和“Y的任何包括性排列。”例如,如果“‘A’采用‘X’”、“‘A’采用‘Y’”,或“‘A’采用‘A’和‘B’二者”,则在任一上述实例下都满足“‘A’采用‘X’或‘Y’”。
如此处所使用,术语“推论”或“推断”通常指的是从经由事件和/或数据捕捉的一组观察结果来推理或推断系统、环境、和/或用户的状态的过程。可以使用推断来标识特定上下文或动作,也可以生成例如状态上的概率分布。推断可以是概率性的,即,基于对数据和事件的考虑,计算在感兴趣状态上的概率分布。推断也可以是指用于从一组事件和/或数据构成较高级别的事件的技术。这样的推断导致从一组观察到的事件和/或存储的事件数据构建新的事件或动作,不管事件在时间上是否紧密相关,以及事件和数据来自一个还是多个事件和数据源。可采用各种分类方案和/或系统(例如,支持向量机、神经网络、专家系统、贝叶斯置信网络、模糊逻辑、数据融合引擎……)来执行关于所要求保护主题的自动化和/或推断的动作。
而且,对于在详细描述或权利要求书中使用术语“包括”、“包含”、“具有”、“含有”或其它形式的变型而言,这样的术语旨在以类似于术语“包括”的方式体现包含性,如同“包括”在用作权利要求书中的过渡词时所解释的那样。
为了为所要求保护主题提供上下文,图6以及以下讨论旨在提供对其中可以实现本主题的各方面的合适环境的简要、概括描述。然而,合适的环境只是示例并且并非旨在对使用范围或功能提出任何限制。
尽管能够在可以在一台或多台计算机上运行的程序的计算机可执行指令的一般上下文中描述以上公开的系统和方法,但是,本领域的技术人员将认识到,各方面也可以与其他程序模块等相结合地实现。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件和数据结构等。此外,本领域技术人员可以理解,上述系统和方法可用各种计算机系统配置实现,包括单处理器、多处理器或多核处理器计算机系统、小型计算设备、大型计算机、以及个人计算机、手持式计算设备(例如,个人数字助理(PDA)、电话、手表…)、基于微处理器或可编程消费或工业电子设备等。各方面也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。然而,所要求保护主题的某些方面,如果不是所有方面的话,可以在独立计算机上实施。在分布式计算环境中,程序模块可以位于本地和远程存储器存储设备中的一个或两者中。
参考图6,示出了示例通用计算机610或计算设备(例如,台式机、膝上型计算机、服务器、手持式设备、可编程消费或工业电子产品、机顶盒、游戏系统……)。计算机610包括一个或多个处理器620、存储器630、系统总线640、大容量存储650、以及一个或多个接口组件670。系统总线640与至少上述系统组件通信地耦合。然而,可以理解,在其最简单的形式中,计算机610可包括耦合到存储器630的一个或多个处理器620,该一个或多个处理器620执行存储在存储器630中的各种计算机可执行动作、指令和/或组件。
处理器620可以用通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立硬件组件或被设计为执行此处描述的功能的其任意组合来实现。通用处理器可以是微处理器,但在替换方案中,处理器可以是任何处理器、控制器、微控制器、或状态机。处理器620还可被实现为计算设备的组合,例如DSP和微处理器的组合、多个微处理器、多核处理器、结合DSP核的一个或多个微处理器、或任何其它这种配置。
计算机610可包括各种计算机可读介质或以其他方式与各种计算机可读介质交互以便于控制计算机610来实现所要求保护主题的一个或多个方面。计算机可读介质可以是能由计算机610访问的任何可用介质,并包含易失性和非易失性介质以及可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,存储器设备(例如,随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)……)、磁存储设备(例如,硬盘、软盘、磁带盒、磁带……)、光盘(例如,紧致盘(CD)、数字多功能盘(DVD)……)、以及固态设备(例如,固态驱动器(SSD)、闪存驱动器(例如,卡、棒、键驱动器……)……)、或者可用于存储所需信息并且可由计算机610访问的任何其他介质。
通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任何信息传送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围内。
存储器630和大容量存储650是计算机可读存储介质的示例。取决于计算设备的确切配置和类型,存储器630可以是易失性的(例如RAM)、非易失性的(例如ROM、闪存…)或是两者的某种组合。作为示例,包括诸如在启动期间在计算机610内的元件之间传输信息的基本例程的基本输入/输出系统(BIOS)可被存储在非易失性存储器中,而易失性存储器可担当外部高速缓存存储器以便于处理器620的处理等。
大容量存储650包括相对于存储器630用于存储大量数据的可移动/不可移动、易失性/非易失性计算机存储介质。例如,大容量存储650包括但不限于,诸如磁盘或光盘驱动器、软盘驱动器、闪存存储器、固态驱动器、或记忆棒等一个或多个设备。
存储器630和大容量存储650可包括或其中存储有操作系统660、一个或多个应用662、一个或多个程序模块664和数据666。操作系统660用于控制和分配计算机610的资源。在此,操作系统660可对应于能够支持多个库操作系统220的主机操作系统210。应用662包括系统和应用软件之一或两者,并且可利用操作系统660对资源的管理通过存储在存储器630和/或大容量存储650中的程序模块664和数据666来执行一个或多个动作。因此,应用662可根据由此提供的逻辑来将通用计算机610变成专用机器。
所要求保护主题的全部或各部分可以使用产生控制计算机以实现所公开功能的软件、固件、硬件或其任意组合的标准编程和/或工程技术来实现。作为示例而非限制,系统100或其部分可以是或形成应用662的一部分,并且包括存储在在由一个或多个处理器620执行时其功能可被实现的存储器和/或大容量存储650中的一个或多个模块664以及数据666。
根据一个特定实施例,处理器620可与片上系统(SOC)或在单个集成电路基座上包括或换言之集成硬件和软件的类似架构相对应。此处,处理器620可包括至少与处理器620和存储器630相似的一个或多个处理器以及存储器等。常规处理器包括最少量的硬件和软件并且广泛依赖于外部硬件和软件。作为对比,处理器的SOC实现更强大,因为它将硬件和软件嵌入其中以能够用最少的硬件和软件或不依赖于外部硬件和软件来启用特定功能。例如,系统100和/或相关联的功能可被嵌入到SOC体系结构中的硬件内。
计算机610还包括通信地耦合到系统总线640并便于与计算机610的交互的一个或多个接口组件670。作为示例,接口组件670可以是端口(例如,串行、并行、PCMCIA、USB、火线…)或接口卡(例如,声音、视频…)等等。在一个示例实现中,接口组件670可被具体化为用户输入/输出接口,该用户输入/输出接口使得用户能够通过一个或多个输入设备(例如,诸如鼠标等定点设备、跟踪球、指示笔、触摸垫、键盘、话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、照相机、其他计算机……)来将命令和信息输入到计算机610中。在另一示例实现中,接口组件670可被具体化为输出外围接口,该输出外围接口向显示器(例如,CRT、LCD、等离子……)、扬声器、打印机和/或其它计算机等提供输出。此外,接口组件670可被具体化为网络接口,该网络接口使得能够诸如通过有线或无线通信链路与其他计算设备(未示出)通信。
以上所已经描述的内容包括所要求保护主题的各方面的示例。当然,出于描绘所要求保护主题的目的而描述每一个可以想到的组件或方法的组合是不可能的,但本领域内的普通技术人员应该认识到,所要求保护主题的许多进一步的组合和排列都是可能的。从而,所公开的主题旨在涵盖落入所附权利要求书的精神和范围内的所有这样的变更、修改和变化。
Claims (10)
1.一种促进兼容性的方法,包括:
利用被配置成执行存储在存储器中的计算机可执行指令的至少一个处理器来执行以下动作:
将应用绑定到兼容库操作系统,所述兼容库操作系统封装操作系统的可能破坏应用兼容性的各部分。
2.如权利要求1所述的方法,其特征在于,还包括:从清单文件确定所述兼容库操作系统。
3.如权利要求1所述的方法,其特征在于,还包括:将所述库操作系统作为主机操作系统更新进程的部分来获取。
4.如权利要求1所述的方法,其特征在于,还包括:将所述库操作系统作为主机操作系统更新进程的部分来更新。
5.如权利要求1所述的方法,其特征在于,还包括:用第二版本代替主机操作系统的第一版本,并将先前绑定到所述主机操作系统的所述第一版本的所述应用绑定到与所述主机操作系统的所述第一版本相对应的所述库操作系统。
6.一种促进兼容性的系统,包括:
耦合到存储器的处理器,所述处理器被配置成执行以下存储在所述存储器中的计算机可执行组件:
第一组件,该第一组件被配置用于在运行时将应用绑定到兼容库操作系统。
7.如权利要求6所述的系统,其特征在于,所述库操作系统与主机操作系统打包在一起。
8.如权利要求6所述的系统,其特征在于,与主机操作系统相比,所述库操作系统是操作系统的较新近版本。
9.如权利要求6所述的系统,其特征在于,与主机操作系统相比,所述库操作系统是操作系统的较旧版本。
10.如权利要求6所述的系统,其特征在于,还包括:被配置用于确定所述兼容库操作系统的第二组件。
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161449072P | 2011-03-03 | 2011-03-03 | |
US61/449,072 | 2011-03-03 | ||
US13/314,512 US9891939B2 (en) | 2011-03-03 | 2011-12-08 | Application compatibility with library operating systems |
US13/314,512 | 2011-12-08 | ||
PCT/US2012/027635 WO2012119139A2 (en) | 2011-03-03 | 2012-03-03 | Application compatibility with library operating systems |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103493011A true CN103493011A (zh) | 2014-01-01 |
CN103493011B CN103493011B (zh) | 2016-12-07 |
Family
ID=46754122
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280011551.7A Active CN103493011B (zh) | 2011-03-03 | 2012-03-03 | 与库操作系统的应用兼容性 |
Country Status (6)
Country | Link |
---|---|
US (3) | US9891939B2 (zh) |
EP (1) | EP2681654A4 (zh) |
JP (1) | JP6018590B2 (zh) |
KR (1) | KR101963912B1 (zh) |
CN (1) | CN103493011B (zh) |
WO (1) | WO2012119139A2 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104917806A (zh) * | 2014-03-13 | 2015-09-16 | 洛克威尔自动控制技术股份有限公司 | 工业自动化系统网络应用性能增强系统和方法 |
CN107251004A (zh) * | 2015-02-20 | 2017-10-13 | 索尼互动娱乐美国有限责任公司 | 通过使用欺骗时钟及细粒度频率控制实现的向后兼容性 |
CN108345496A (zh) * | 2017-01-23 | 2018-07-31 | 华为技术有限公司 | 一种运行应用程序的方法及装置 |
CN113297566A (zh) * | 2020-05-15 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 沙箱实现方法、装置、设备和存储介质 |
Families Citing this family (96)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8261342B2 (en) * | 2008-08-20 | 2012-09-04 | Reliant Security | Payment card industry (PCI) compliant architecture and associated methodology of managing a service infrastructure |
US9588803B2 (en) | 2009-05-11 | 2017-03-07 | Microsoft Technology Licensing, Llc | Executing native-code applications in a browser |
US9367331B2 (en) | 2009-07-20 | 2016-06-14 | Google Technology Holdings LLC | Multi-environment operating system |
US9372711B2 (en) | 2009-07-20 | 2016-06-21 | Google Technology Holdings LLC | System and method for initiating a multi-environment operating system |
US9348633B2 (en) | 2009-07-20 | 2016-05-24 | Google Technology Holdings LLC | Multi-environment operating system |
US9389877B2 (en) | 2009-07-20 | 2016-07-12 | Google Technology Holdings LLC | Multi-environment operating system |
US9323921B2 (en) | 2010-07-13 | 2016-04-26 | Microsoft Technology Licensing, Llc | Ultra-low cost sandboxing for application appliances |
US8782434B1 (en) | 2010-07-15 | 2014-07-15 | The Research Foundation For The State University Of New York | System and method for validating program execution at run-time |
US20120198436A1 (en) * | 2011-01-27 | 2012-08-02 | Preimesberger Lee A | Compatible Operating System |
US8938643B1 (en) * | 2011-04-22 | 2015-01-20 | Symantec Corporation | Cloning using streaming restore |
US20120278747A1 (en) * | 2011-04-28 | 2012-11-01 | Motorola Mobility, Inc. | Method and apparatus for user interface in a system having two operating system environments |
US9354900B2 (en) | 2011-04-28 | 2016-05-31 | Google Technology Holdings LLC | Method and apparatus for presenting a window in a system having two operating system environments |
US9495183B2 (en) | 2011-05-16 | 2016-11-15 | Microsoft Technology Licensing, Llc | Instruction set emulation for guest operating systems |
US9009212B2 (en) * | 2011-06-29 | 2015-04-14 | Cisco Technology, Inc. | Optimized transfer of applications between computing environments |
US8909912B2 (en) * | 2011-07-29 | 2014-12-09 | Cisco Technology, Inc. | Apparatus and method for configuring a target machine with captured operational state comprising a static machine profile and a dynamic machine state to continue operations of a source machine |
US9389933B2 (en) | 2011-12-12 | 2016-07-12 | Microsoft Technology Licensing, Llc | Facilitating system service request interactions for hardware-protected applications |
US9413538B2 (en) | 2011-12-12 | 2016-08-09 | Microsoft Technology Licensing, Llc | Cryptographic certification of secure hosted execution environments |
CN103975308B (zh) * | 2011-12-13 | 2019-07-19 | 索尼电脑娱乐公司 | 信息处理设备、信息处理方法、程序以及信息存储介质 |
US9489184B2 (en) * | 2011-12-30 | 2016-11-08 | Oracle International Corporation | Adaptive selection of programming language versions for compilation of software programs |
US9015702B2 (en) * | 2012-01-13 | 2015-04-21 | Vasanth Bhat | Determining compatibility of an application with different versions of an operating system |
US9069607B1 (en) * | 2012-01-31 | 2015-06-30 | Vmware, Inc. | Selective migration of virtualized applications and configuration settings thereof |
US20130293573A1 (en) | 2012-05-02 | 2013-11-07 | Motorola Mobility, Inc. | Method and Apparatus for Displaying Active Operating System Environment Data with a Plurality of Concurrent Operating System Environments |
CN102707990B (zh) * | 2012-05-14 | 2015-04-08 | 华为技术有限公司 | 基于容器的处理方法和装置 |
US9342325B2 (en) | 2012-05-17 | 2016-05-17 | Google Technology Holdings LLC | Synchronizing launch-configuration information between first and second application environments that are operable on a multi-modal device |
US9507612B1 (en) * | 2012-08-31 | 2016-11-29 | United Services Automobile Association (Usaa) | Managing dedicated and floating pool of virtual machines based on demand |
US9122873B2 (en) | 2012-09-14 | 2015-09-01 | The Research Foundation For The State University Of New York | Continuous run-time validation of program execution: a practical approach |
US9069782B2 (en) | 2012-10-01 | 2015-06-30 | The Research Foundation For The State University Of New York | System and method for security and privacy aware virtual machine checkpointing |
US9166865B2 (en) * | 2012-11-07 | 2015-10-20 | International Business Machines Corporation | Mobility operation resource allocation |
GB2507779A (en) | 2012-11-09 | 2014-05-14 | Ibm | Terminating a virtual machine in response to user inactivity in a cloud computing environment |
US9189619B2 (en) * | 2012-11-13 | 2015-11-17 | International Business Machines Corporation | Runtime based application security and regulatory compliance in cloud environment |
US9195294B2 (en) | 2012-11-13 | 2015-11-24 | International Business Machines Corporation | Cooperatively managing enforcement of energy related policies between virtual machine and application runtime |
US10162873B2 (en) * | 2012-12-21 | 2018-12-25 | Red Hat, Inc. | Synchronization of physical disks |
US20140188977A1 (en) * | 2012-12-28 | 2014-07-03 | Futurewei Technologies, Inc. | Appratus, method for deploying applications in a virtual desktop interface system |
US10860303B2 (en) * | 2013-04-24 | 2020-12-08 | Nintendo Co., Ltd. | Selective operating system patching/updating |
US9710291B2 (en) * | 2013-06-19 | 2017-07-18 | Empire Technology Development Llc | Processor-optimized library loading for virtual machines |
US9294282B1 (en) * | 2013-07-01 | 2016-03-22 | Amazon Technologies, Inc. | Cryptographically verified repeatable virtualized computing |
US9604139B2 (en) | 2013-11-11 | 2017-03-28 | Amazon Technologies, Inc. | Service for generating graphics object data |
US9582904B2 (en) | 2013-11-11 | 2017-02-28 | Amazon Technologies, Inc. | Image composition based on remote object data |
US9641592B2 (en) | 2013-11-11 | 2017-05-02 | Amazon Technologies, Inc. | Location of actor resources |
US9634942B2 (en) | 2013-11-11 | 2017-04-25 | Amazon Technologies, Inc. | Adaptive scene complexity based on service quality |
US9805479B2 (en) * | 2013-11-11 | 2017-10-31 | Amazon Technologies, Inc. | Session idle optimization for streaming server |
US9596280B2 (en) | 2013-11-11 | 2017-03-14 | Amazon Technologies, Inc. | Multiple stream content presentation |
US9946889B2 (en) * | 2013-11-27 | 2018-04-17 | Nakivo, Inc. | Systems and methods for multi-tenant data protection application |
US9448827B1 (en) * | 2013-12-13 | 2016-09-20 | Amazon Technologies, Inc. | Stub domain for request servicing |
WO2015126430A1 (en) * | 2014-02-24 | 2015-08-27 | Hewlett-Packard Development Company, L.P. | Virtual network function management with deactivated virtual machines |
US9202046B2 (en) | 2014-03-03 | 2015-12-01 | Bitdefender IPR Management Ltd. | Systems and methods for executing arbitrary applications in secure environments |
US20150278512A1 (en) * | 2014-03-28 | 2015-10-01 | Intel Corporation | Virtualization based intra-block workload isolation |
US10120663B2 (en) * | 2014-03-28 | 2018-11-06 | Intel Corporation | Inter-architecture compatability module to allow code module of one architecture to use library module of another architecture |
US9430268B2 (en) * | 2014-05-02 | 2016-08-30 | Cavium, Inc. | Systems and methods for supporting migration of virtual machines accessing remote storage devices over network via NVMe controllers |
US9348625B2 (en) | 2014-05-23 | 2016-05-24 | Google Inc. | Application access to native and bundled libraries |
US20160036923A1 (en) * | 2014-08-03 | 2016-02-04 | Microsoft Corporation | Efficient Migration of Application State Information |
US9594591B2 (en) | 2014-09-26 | 2017-03-14 | International Business Machines Corporation | Dynamic relocation of applications in a cloud application service model |
WO2016050495A1 (en) * | 2014-10-03 | 2016-04-07 | British Telecommunications Public Limited Company | Operation of data network |
US9329907B1 (en) | 2014-12-18 | 2016-05-03 | International Business Machines Corporation | Automated exploitation of virtual machine resource modifications |
FR3030827B1 (fr) | 2014-12-19 | 2017-01-27 | Stmicroelectronics (Grenoble 2) Sas | Procede et dispositif de traitement securise de donnees cryptees |
US20160285958A1 (en) * | 2015-03-27 | 2016-09-29 | Intel Corporation | Application container for live migration of mobile applications |
US9563446B2 (en) | 2015-04-30 | 2017-02-07 | Microsoft Technology Licensing, Llc | Binary file generation |
US9971622B2 (en) * | 2015-06-25 | 2018-05-15 | Intel Corporation | Technologies for application migration using lightweight virtualization |
US9996377B2 (en) | 2015-06-30 | 2018-06-12 | International Business Machines Corporation | Virtual machine migration via a mobile device |
US9912400B1 (en) * | 2015-08-31 | 2018-03-06 | Rockwell Collins, Inc. | Concurrent mobile user objective system streaming |
GB201516227D0 (en) * | 2015-09-14 | 2015-10-28 | Horne Stephen And Hemmer Fabian And Von Oven Peter | Running applications on a computer device |
US10212255B2 (en) * | 2015-09-28 | 2019-02-19 | Microsoft Technology Licensing, Llc | Processing requests for multi-versioned service |
US10310893B2 (en) | 2016-04-05 | 2019-06-04 | Microsoft Technology Licensing, Llc | Managing container pause and resume |
US10512053B2 (en) | 2016-05-10 | 2019-12-17 | Servicenow, Inc. | System and method for selectively hibernating and restarting a node of an application instance |
US10346457B2 (en) | 2016-07-27 | 2019-07-09 | Microsoft Technology Licensing, Llc | Platform support clusters from computer application metadata |
US10339148B2 (en) | 2016-07-27 | 2019-07-02 | Microsoft Technology Licensing, Llc | Cross-platform computer application query categories |
US10387435B2 (en) | 2016-07-27 | 2019-08-20 | Microsoft Technology Licensing, Llc | Computer application query suggestions |
CN107797807B (zh) * | 2016-08-29 | 2021-04-06 | 阿里巴巴集团控股有限公司 | 生成容器的方法、装置、终端、服务器与系统 |
CN107885748B (zh) * | 2016-09-30 | 2021-10-26 | 华为技术有限公司 | 虚拟化实例的文件分层访问方法和装置 |
US10333985B2 (en) | 2017-01-09 | 2019-06-25 | Microsoft Technology Licensing, Llc | Distribution and management of services in virtual environments |
JP2018116462A (ja) * | 2017-01-18 | 2018-07-26 | 株式会社東芝 | 仮想環境実行装置及びプログラム |
US11281625B1 (en) * | 2017-06-05 | 2022-03-22 | Amazon Technologies, Inc. | Resource management service |
US11347295B2 (en) * | 2017-07-19 | 2022-05-31 | Citrix Systems, Inc. | Virtual machine power management |
US10401816B2 (en) * | 2017-07-20 | 2019-09-03 | Honeywell International Inc. | Legacy control functions in newgen controllers alongside newgen control functions |
CN108008953B (zh) * | 2017-12-01 | 2021-05-07 | 麒麟软件有限公司 | 一种动态适配操作系统主题风格的Qt图形程序设计方法 |
US11474849B2 (en) * | 2018-01-29 | 2022-10-18 | Walmart Apollo, Llc | Distribution of applications among machines in a cloud |
US10540175B2 (en) * | 2018-03-05 | 2020-01-21 | Appzero Software Corp. | Up-level applications to a new OS |
CN112236752A (zh) | 2018-04-11 | 2021-01-15 | 康奈尔大学 | 用于改进软件容器性能和隔离的方法和系统 |
US10606632B2 (en) * | 2018-05-15 | 2020-03-31 | Vmware, Inc. | Preventing interruption during virtual machine reboot |
US11218364B2 (en) * | 2018-06-25 | 2022-01-04 | Amazon Technologies, Inc. | Network-accessible computing service for micro virtual machines |
US10929162B2 (en) * | 2018-07-27 | 2021-02-23 | Futurewei Technologies, Inc. | Virtual machine container for applications |
US10963282B2 (en) | 2018-12-11 | 2021-03-30 | Amazon Technologies, Inc. | Computing service with configurable virtualization control levels and accelerated launches |
US10949239B2 (en) | 2018-12-14 | 2021-03-16 | Hewlett Packard Enterprise Development Lp | Application deployment in a container management system |
KR102099118B1 (ko) * | 2019-04-29 | 2020-04-09 | 래블업(주) | 사용자가 요청한 다수개의 라이브러리를 탑재한 세션 컨테이너 제공방법 |
US11010212B2 (en) * | 2019-06-13 | 2021-05-18 | Microsoft Technology Licensing, Llc | System and method for supporting and negotiating multiple API versions across multiple products |
KR102100323B1 (ko) * | 2019-11-01 | 2020-04-13 | 주식회사 엔쓰리엔클라우드 | 머신러닝 플랫폼 서비스 방법 및 서버 |
US11103780B2 (en) * | 2019-11-06 | 2021-08-31 | Microsoft Technology Licensing, Llc | Saving and restoring virtual machine states and hardware states for application content |
KR102211655B1 (ko) | 2019-12-26 | 2021-02-04 | 한양대학교 에리카산학협력단 | 프록시 서버 및 이를 이용한 웹 오브젝트 예측 방법 |
US10983782B1 (en) * | 2020-01-31 | 2021-04-20 | Sap Se | User interface upgrade analyzer |
US11809910B2 (en) | 2020-10-14 | 2023-11-07 | Bank Of America Corporation | System and method for dynamically resizing computational infrastructure to accommodate unexpected demands |
US11550553B2 (en) * | 2020-11-23 | 2023-01-10 | Red Hat, Inc. | Usage-based software library decomposition |
JP2022129830A (ja) * | 2021-02-25 | 2022-09-06 | 株式会社リコー | 電子機器、ライブラリ、処理方法 |
US11853783B1 (en) * | 2021-03-29 | 2023-12-26 | Amazon Technologies, Inc. | Identifying hosts for dynamically enabling specified features when resuming operation of a virtual compute instance |
US11561787B2 (en) * | 2021-05-13 | 2023-01-24 | International Business Machines Corporation | Application invocation on specified operating system version |
US12056521B2 (en) * | 2021-09-03 | 2024-08-06 | Microsoft Technology Licensing, Llc | Machine-learning-based replenishment of interruptible workloads in cloud environment |
US20240192965A1 (en) * | 2022-12-13 | 2024-06-13 | Ati Technologies Ulc | Continuity of service for virtualized device after resumption from hibernation |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020019972A1 (en) * | 2000-04-24 | 2002-02-14 | Grier Michael J. | Isolating assembly versions for binding to application programs |
CN101655798A (zh) * | 2008-08-18 | 2010-02-24 | 联想(北京)有限公司 | 一种计算机和虚拟机环境中应用程序部署和运行的方法 |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6981268B2 (en) | 2001-12-05 | 2005-12-27 | Microsoft Corporation | System and method for persisting and resolving application assembly binds |
US7577722B1 (en) | 2002-04-05 | 2009-08-18 | Vmware, Inc. | Provisioning of computer systems using virtual machines |
US6954852B2 (en) | 2002-04-18 | 2005-10-11 | Ardence, Inc. | System for and method of network booting of an operating system to a client computer using hibernation |
US7484208B1 (en) * | 2002-12-12 | 2009-01-27 | Michael Nelson | Virtual machine migration |
US20080222160A1 (en) * | 2003-09-15 | 2008-09-11 | Macdonald Craig | Method and system for providing a program for execution without requiring installation |
US7774762B2 (en) * | 2003-09-15 | 2010-08-10 | Trigence Corp. | System including run-time software to enable a software application to execute on an incompatible computer platform |
WO2006055838A2 (en) * | 2004-11-18 | 2006-05-26 | America Online, Inc. | Runtime environment |
US9450966B2 (en) * | 2004-11-29 | 2016-09-20 | Kip Sign P1 Lp | Method and apparatus for lifecycle integrity verification of virtual machines |
US7451435B2 (en) | 2004-12-07 | 2008-11-11 | Microsoft Corporation | Self-describing artifacts and application abstractions |
US7721138B1 (en) | 2004-12-28 | 2010-05-18 | Acronis Inc. | System and method for on-the-fly migration of server from backup |
US7685593B2 (en) | 2005-05-12 | 2010-03-23 | Microsoft Corporation | Systems and methods for supporting multiple gaming console emulation environments |
US20070283324A1 (en) | 2005-08-30 | 2007-12-06 | Geisinger Nile J | System and method for creating programs that comprise several execution layers |
US7523323B2 (en) | 2005-09-15 | 2009-04-21 | Intel Corporation | Method and apparatus for quick resumption |
US7627728B1 (en) | 2005-12-29 | 2009-12-01 | Symantec Operating Corporation | System and method for efficient generation of application snapshots |
US8104041B2 (en) | 2006-04-24 | 2012-01-24 | Hewlett-Packard Development Company, L.P. | Computer workload redistribution based on prediction from analysis of local resource utilization chronology data |
US20080127348A1 (en) * | 2006-08-31 | 2008-05-29 | Kenneth Largman | Network computer system and method using thin user client and virtual machine to provide immunity to hacking, viruses and spy ware |
US20080127182A1 (en) * | 2006-11-29 | 2008-05-29 | Newport William T | Managing Memory Pages During Virtual Machine Migration |
US8037039B2 (en) | 2007-04-20 | 2011-10-11 | Microsoft Corporation | Runtime class database operation |
US20090210871A1 (en) | 2008-02-20 | 2009-08-20 | Zak Dechovich | System and method for software application migration |
US8359593B2 (en) | 2008-04-21 | 2013-01-22 | Vmware, Inc. | Computer machine migration of file system images using a redo-log file |
US8195774B2 (en) * | 2008-05-23 | 2012-06-05 | Vmware, Inc. | Distributed virtual switch for virtualized computer systems |
WO2009147468A2 (en) | 2008-05-27 | 2009-12-10 | Telefonaktiebolaget L M Ericsson (Publ) | System and method for backwards compatible multi-access with proxy mobile internet protocol |
US7886183B2 (en) * | 2008-08-07 | 2011-02-08 | Symantec Operating Corporation | Providing fault tolerant storage system to a cluster |
JP4966942B2 (ja) * | 2008-10-01 | 2012-07-04 | 株式会社日立製作所 | 仮想pc管理方法、仮想pc管理システム、および仮想pc管理プログラム |
US8291261B2 (en) | 2008-11-05 | 2012-10-16 | Vulcan Technologies Llc | Lightweight application-level runtime state save-and-restore utility |
US8214829B2 (en) | 2009-01-15 | 2012-07-03 | International Business Machines Corporation | Techniques for placing applications in heterogeneous virtualized systems while minimizing power and migration cost |
US8019861B2 (en) * | 2009-01-29 | 2011-09-13 | Vmware, Inc. | Speculative virtual machine resource scheduling |
US10203993B2 (en) | 2009-02-18 | 2019-02-12 | International Business Machines Corporation | Method and system for continuous optimization of data centers by combining server and storage virtualization |
JP5289153B2 (ja) | 2009-04-14 | 2013-09-11 | キヤノン株式会社 | 情報処理装置及びその制御方法、並びにコンピュータプログラム |
US8533151B2 (en) * | 2009-05-26 | 2013-09-10 | Microsoft Corporation | Generating a local copy of a virtualized application package from a local installation |
US9483284B2 (en) * | 2011-02-25 | 2016-11-01 | Red Hat, Inc. | Version compatibility determination |
-
2011
- 2011-12-08 US US13/314,512 patent/US9891939B2/en active Active
- 2011-12-20 US US13/331,078 patent/US9606822B2/en active Active
-
2012
- 2012-01-06 US US13/345,031 patent/US8875160B2/en active Active
- 2012-03-03 WO PCT/US2012/027635 patent/WO2012119139A2/en unknown
- 2012-03-03 JP JP2013556669A patent/JP6018590B2/ja active Active
- 2012-03-03 CN CN201280011551.7A patent/CN103493011B/zh active Active
- 2012-03-03 KR KR1020137023212A patent/KR101963912B1/ko active IP Right Grant
- 2012-03-03 EP EP12752531.9A patent/EP2681654A4/en not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020019972A1 (en) * | 2000-04-24 | 2002-02-14 | Grier Michael J. | Isolating assembly versions for binding to application programs |
CN101655798A (zh) * | 2008-08-18 | 2010-02-24 | 联想(北京)有限公司 | 一种计算机和虚拟机环境中应用程序部署和运行的方法 |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104917806A (zh) * | 2014-03-13 | 2015-09-16 | 洛克威尔自动控制技术股份有限公司 | 工业自动化系统网络应用性能增强系统和方法 |
CN107251004A (zh) * | 2015-02-20 | 2017-10-13 | 索尼互动娱乐美国有限责任公司 | 通过使用欺骗时钟及细粒度频率控制实现的向后兼容性 |
US10534395B2 (en) | 2015-02-20 | 2020-01-14 | Sony Interactive Entertainment LLC | Backward compatibility through use of spoof clock and fine grain frequency control |
US11119528B2 (en) | 2015-02-20 | 2021-09-14 | Sony Interactive Entertainment LLC | Backward compatibility through use of spoof clock and fine grain frequency control |
CN108345496A (zh) * | 2017-01-23 | 2018-07-31 | 华为技术有限公司 | 一种运行应用程序的方法及装置 |
CN108345496B (zh) * | 2017-01-23 | 2020-12-15 | 华为技术有限公司 | 一种运行应用程序的方法及装置 |
CN113297566A (zh) * | 2020-05-15 | 2021-08-24 | 阿里巴巴集团控股有限公司 | 沙箱实现方法、装置、设备和存储介质 |
WO2021227971A1 (zh) * | 2020-05-15 | 2021-11-18 | 阿里巴巴集团控股有限公司 | 沙箱实现方法、装置、设备和存储介质 |
CN113297566B (zh) * | 2020-05-15 | 2024-04-02 | 阿里巴巴集团控股有限公司 | 沙箱实现方法、装置、设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20120227061A1 (en) | 2012-09-06 |
EP2681654A4 (en) | 2014-11-26 |
JP6018590B2 (ja) | 2016-11-02 |
US20120227038A1 (en) | 2012-09-06 |
US9606822B2 (en) | 2017-03-28 |
CN103493011B (zh) | 2016-12-07 |
US8875160B2 (en) | 2014-10-28 |
KR20140046402A (ko) | 2014-04-18 |
EP2681654A2 (en) | 2014-01-08 |
US20120227058A1 (en) | 2012-09-06 |
US9891939B2 (en) | 2018-02-13 |
WO2012119139A2 (en) | 2012-09-07 |
WO2012119139A3 (en) | 2013-01-03 |
KR101963912B1 (ko) | 2019-03-29 |
JP2014510343A (ja) | 2014-04-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103493011A (zh) | 与库操作系统的应用兼容性 | |
US8966026B2 (en) | Systems and methods for extension of server management functions | |
CN102193817B (zh) | 简化物理和虚拟部署的管理 | |
EP1634170B1 (en) | Method for firmware variable storage with eager compression, fail-safe extraction and restart time compression scan | |
CN101650660B (zh) | 从中央存储装置引导计算机系统 | |
CN102520991A (zh) | 高效的虚拟应用更新 | |
Gilbert et al. | Pocket ISR: Virtual machines anywhere | |
US10810017B2 (en) | Systems and methods for handling firmware driver dependencies in host operating systems while applying updates from bootable image file | |
CN102567044A (zh) | 代码部署协助 | |
CN107667343B (zh) | 用于加载按需加载资源的系统和方法 | |
US11340882B2 (en) | Systems and methods for enforcing update policies while applying updates from bootable image file | |
CN102426535A (zh) | 动态进程虚拟化 | |
CN102707987B (zh) | 范围虚拟化 | |
US11023217B2 (en) | Systems and methods for support of selective processor microcode updates | |
TWI549056B (zh) | 以函式庫作業系統達成之應用程式相容性 | |
US20150227723A1 (en) | Flexible licensing architecture | |
US11983409B1 (en) | Host-read-based autonomous compute storage device system | |
US11907080B1 (en) | Background-operation-based autonomous compute storage device system | |
US20240236113A9 (en) | Autonomous compute storage device signature/application system | |
US20240231636A9 (en) | Autonomous compute storage device system | |
US20240231649A9 (en) | Host-write-based autonomous compute storage device system | |
US11323331B2 (en) | Cloud server and operating method of the same |
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: 20150727 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150727 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 |