CN102521022B - 在无状态云计算环境中操作的有状态的应用程序 - Google Patents
在无状态云计算环境中操作的有状态的应用程序 Download PDFInfo
- Publication number
- CN102521022B CN102521022B CN201110354988.8A CN201110354988A CN102521022B CN 102521022 B CN102521022 B CN 102521022B CN 201110354988 A CN201110354988 A CN 201110354988A CN 102521022 B CN102521022 B CN 102521022B
- Authority
- CN
- China
- Prior art keywords
- cloud
- application program
- state
- status change
- virtualization layer
- 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.)
- Active
Links
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
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
Abstract
本发明描述了在无状态云计算环境中操作的有状态的应用程序。云计算环境可使用无状态云计算进程内的虚拟化层来捕捉、存储和检索由在进程内执行的有状态的应用程序所生成的状态信息。虚拟化层可监视各种状态存储系统来标识对有状态项的变更并将有状态项存储在状态存储机制中。虚拟化层可截取并重定向对存储在状态存储机制中的有状态项的调用。云计算管理器可启动和停止无状态云计算进程,并且可恢复状态并继续执行应用程序。
Description
技术领域
本发明涉及计算机技术,尤其涉及云计算技术。
背景技术
云计算是其中进程无状态地进行操作的计算环境。在典型的云计算环境中,用户进程可在一个或多个数据中心内的硬件平台的构造上操作,且数据中心运营者能够将用户进程从一个服务器或硬件平台移动到另一服务器或硬件平台。因为数据中心运营者可在不同时间执行这样的移动,所以在云计算环境上执行的进程可能无法将状态存储到进程内。
与云计算进程相反,许多常规应用程序可按操作系统注册表设置、配置文件和其他变更的形式来存储状态。为了使应用程序随着时间如预期地执行,应用程序的状态可持续并且有时或在重启应用程序时可被重新调用。
发明内容
云计算环境可使用无状态云计算进程内的虚拟化层来捕捉、存储和检索由在进程内执行的有状态的应用程序所生成的状态信息。虚拟化层可监视各种状态存储系统来标识对有状态项的变更并将有状态项存储在状态存储机制中。虚拟化层可截取并重定向对存储在状态存储机制中的有状态项的调用。云计算管理器可启动和停止无状态云计算进程,并且可恢复状态并继续执行应用程序。
提供本发明内容以便以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护主题的关键特征或必要特征,也不旨在用于限制所要求保护主题的范围。
附图说明
在附图中:
图1是示出用于有状态的应用程序的云计算环境的实施例的图示。
图2是示出用于创建应用程序包的方法的实施例的流程图示。
图3是示出用于启动或继续无状态进程中的有状态的应用程序的方法的实施例的流程图示。
具体实施方式
云计算环境可使用虚拟化层来捕捉应用程序的状态变更并且在停止或重启应用程序时持久存储该状态变更。虚拟化层可监视应用程序用来存储状态的各种存储机制,并且可为状态创建并管理独立的存储机制。虚拟化层可识别对存储机制的调用并将这些调用重定向到独立的存储机制。
应用程序的状态可被存储在云存储系统中,该云存储系统在停止和重启应用程序的同时可持久存储状态。在许多实施例中,可使用虚拟硬盘来存储状态,且这样的虚拟硬盘可直接存储在云存储系统上。
在某些实施例中,应用程序的多个副本可能正在执行,各自具有独立的状态。当执行应用程序的进程被停止时,可存储该状态,并且当继续进程时,可从一组存储的状态中选择该状态,该进程从先前状态继续。
本说明书通篇中,在所有附图的描述中,相同的附图标记表示相同的元素。
在将元素称为被“连接”或“耦合“时,这些元素可以直接连接或耦合在一起,或者也可以存在一个或多个中间元素。相反,在将元素称为被“直接连接”或“直接耦合”时,不存在中间元素。
本发明可被具体化为设备、系统、方法、和/或计算机程序产品。因此,本发明主题的部分或全部可以用硬件和/或软件(包括固件、常驻软件、微码、状态机、门阵列等)来具体化。此外,本发明主题可以采用其上嵌入有供指令执行系统使用或结合其使用的计算机可使用或计算机可读的程序代码的计算机可使用或计算机可读的存储介质上的计算机程序产品的形式。在本文的上下文中,计算机可使用或计算机可读介质可以是可包含、存储、通信、传播、或传输程序以供指令执行系统、装置或设备使用或结合其使用的任何介质。
计算机可使用或计算机可读介质可以是,例如,但不限于,电、磁、光、电磁、红外、或半导体系统、装置、设备或传播介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。
计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据这样的信息的任意方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或能用于存储所需信息且可以由指令执行系统访问的任何其它介质。注意,计算机可使用或计算机可读介质可以是其上打印有程序的纸张或其他合适的介质,因为程序可以经由例如对纸张或其他介质的光学扫描而电子地捕获,随后如有必要被编译、解释,或以其他合适的方式处理,并随后存储在计算机存储器中。
通信介质通常以诸如载波或其他传输机制的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并包括任意信息传送介质。术语“已调制数据信号”可以被定义为其一个或多个特征以在信号中编码信息的方式被设定或更改的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围内。
当本发明在计算机可执行指令的一般上下文中具体化时,该实施例可以包括由一个或多个系统、计算机、或其他设备执行的程序模块。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。通常,程序模块的功能可以在各个实施例中按需进行组合或分布。
图1是示出其中可使用无状态云计算进程来执行有状态的应用程序的云计算环境的实施例100的图示。实施例100是可允许执行有状态的应用程序的云计算环境和各组件的简化示例。
图1的图示示出系统的各个功能组件。在某些情况下,组件可以是硬件组件、软件组件、或硬件和软件的组合。某些组件可以是应用层软件,而其他组件可以是操作系统层组件。在某些情况下,一个组件到另一个组件的连接可以是紧密连接,其中两个或更多个组件在单个硬件平台上操作。在其他情况下,连接可以通过跨长距离的网络连接来进行。各实施例可以使用不同的硬件、软件、以及互连体系结构来实现所描述的功能。
许多应用程序可能是有状态的,尤其是常规桌面或服务器应用程序。术语有状态的用来指示应用程序可在安装和使用期间与应用程序的状态一起操作并改变应用程序的状态。在许多情况下,有状态的应用程序可将配置信息存储在系统注册表、配置文件、配置数据库或其他存储机制中。
在有状态的应用程序的示例中,应用程序可允许用户按特定方式来定制某些属性或安排用户界面。这些定制可构成应用程序的状态。在另一实施例中,应用程序可被频繁地更新,其中每一更新构成应用程序的状态。
在某些云计算环境中,在该环境中执行的进程是固有地无状态的。在许多这样的实施例中,可在数据中心内执行的进程可从一个硬件平台上的一个虚拟机被移动到另一硬件平台上的另一虚拟机。在这些转换期间,数据中心可将进程四处移动,但可以不移动与各种后端组件相关联的任何状态,这些后端组件诸如硬件平台、虚拟机、在虚拟机内操作的操作系统或任何其他组件。
这样的体系结构可允许云计算环境用非常高效的方式来管理底层硬件和操作系统。在低使用率期间,各进程可被合并到硬件平台的一小子集上而将其他硬件平台关闭。当操作系统的新版本可用时,或者在向现有操作系统进行升级或补丁时,各进程可被临时挂起或移动到具有更新的操作系统的另一硬件平台,然后返回到用更新的操作系统来操作的原始平台。
许多云计算服务可主存许多不同的计算进程并且可为许多不同顾客提供服务。每一顾客可负责他们自己的进程,但云计算服务可提供硬件和软件支持服务。云计算服务可管理大型数据中心中的进程,这可提供物理安全性、硬件和软件基础结构的专业管理、高网络带宽、冗余硬件平台和有保证的正常运行时间以及其他益处。
某些云计算环境可操作可位于世界各地的多个数据中心。这些环境可允许用户使他们的进程和应用程序在不同时区内执行以允许在向遍布全球的员工或顾客提供访问时具有更快速的连接和更低的网络成本。
许多云计算环境还可提供云存储。云存储,有时也被称为团块存储,可以是可在数据中心中操作的数据存储系统。在许多实施例中,云存储可作为服务来为数据和可执行代码提供存储。这些服务可管理与数据存储服务分开的硬件和软件基础结构,并且可不向硬件和软件基础结构展示用户。从用户观点来看,云存储系统可表现为具有高正常运行时间和高可靠性的无限大小的存储系统。
为了在无状态进程中操作常规的有状态的应用程序,可使用虚拟化层来捕获对可存储状态的区域的所有的读和写调用,并且将这些调用重定向到可被存储在云存储系统中的独立的状态。
虚拟化层可在有状态的进程中操作,并且可应用程序内可执行代码的读和写操作。在某些实施例中,虚拟化层可被配置成将读和写操作的某些子集标识为与状态有关的操作,而将其他操作标识为不与状态有关。对于与状态有关的读和写操作中的每一个,虚拟化层可将这些操作重定向到应用程序状态存储对象。
例如,典型的有状态的应用程序可对操作系统注册表或配置文件写入变更。这些写操作可由虚拟化层捕捉并被重定向到可被存储在云存储对象中的应用程序状态存储对象。
在某些实施例中,虚拟化层可将应用程序状态存储对象存储在可由无状态云进程访问的本地存储对象上。在这些实施例中,当云进程可被停止时,云进程管理系统可向虚拟化层发送命令。当进程可被移动到另一虚拟机或出于维护或其他原因以其他方式被暂停时,云进程管理系统可发出这些命令。
在这样的一个实施例中,虚拟化层可将来自本地存储的应用程序状态的任何变更写入云存储中的对象。这些实施例在正常操作期间还可周期性地用任何变更来更新云存储对象。在其他实施例中,虚拟化层可将读和写操作直接重定向到云存储对象。
读和写操作被本地地存储并且随后被复制到云存储对象的实施例可有用于对应用程序状态执行大量频繁访问的有状态的应用程序。当应用程序状态可通过网络连接被存储到云存储对象时,这些应用程序可能操作得较慢。应用程序可能不太频繁地访问应用程序状态的其他实施例可能更适合于直接对云存储对象进行读和写。
在某些实施例中,应用程序可按包的形式被加载和存储。包可包含应用程序的各种组件的全部,包括所有可执行代码、可执行库和应用程序状态。包可由打包系统创建,该打包系统可连同定序器一起来使用虚拟化层。定序器可标识应用程序消费的所有可执行代码,包括库、汇编、以及可以或可以不与应用程序本身分布在一起的其他组件。可创建包含应用程序可执行代码连同应用程序消费的任何数据文件一起的包。在某些实施例中,包可包括应用程序状态,而在其他实施例中,应用程序状态可被存储在分开的存储对象中。
实施例100示出可提供可由用户管理的无状态云进程以及可由云计算提供者管理的各种硬件和软件基础结构的云计算平台102。
云计算平台102可具有由许多硬件计算平台组成的云计算构造104以及各种软件组件106。
云计算构造104可由许多服务器计算机组成。在某些实施例中,单个数据中心可具有许多成百或成千或甚至几十万个硬件平台。硬件平台可各自具有处理器108、本地存储器110和本地存储112。在某些情况下,硬件平台可具有用户接口114和网络接口116。
作为软件组件106的一部分,云计算环境102可具有一组云软件组件118。云软件组件118可由云服务提供者管理并且可不向用户展示。
云软件组件118可包括云操作系统120以及云管理系统121。云操作系统120可作为系统管理程序来操作以在每一硬件平台上主存一个或多个虚拟机122。每一虚拟机122可具有其上可执行无状态云进程126的操作系统124。
云管理系统121可管理云计算服务的各种组件。云管理系统121能够执行这些功能,诸如将虚拟机从一个硬件平台移动到另一硬件平台,启动、停止和暂停虚拟机,将资源分配给不同进程以及执行其他管理服务。云管理系统121可以是云服务供应者用来更新操作系统、升级或修复硬件以及以其他方式管理数据中心内的硬件和软件的系统。
可将云进程126展示给用户以使得用户可在云计算环境102内执行应用程序。云进程126可以是无状态进程并且可能不能够保存或还原在进程的生存期中的任何状态信息。
虚拟化层128和有状态的应用程序130可由无状态云进程126执行。可向虚拟化层128注册应用程序130以使得虚拟化层128可监视与应用程序130相关联的可执行代码以检测和声明变更。
在某些实施例中,可用包的形式将应用程序130提供给云计算平台102。包可包括可执行代码以及应用程序的初始状态。初始状态可以是应用程序130在最初被安装和配置时的状态。在应用程序130开始操作之后,虚拟化层128可创建并维护可以是初始状态和当前状态之间的差别的第二组状态信息。
在这些实施例中,虚拟化层128可包括可标识对初始状态作出的变更并且可将这些变更存储在独立的变更数据库中的各种区分机制。区分机制能够通过加载初始状态然后应用独立的变更数据库来重新创建当前状态来将应用程序130返回到存储的状态。
在某些实施例中,应用程序130可在不使用包的情况下被安装和执行。在这些实施例中,脚本或其他机制可首先在云进程126上安装和执行虚拟化层128,然后可安装和执行应用程序130。在应用程序130的安装过程期间,虚拟化层128可将可影响应用程序状态的读和写操作重定向到数据库或其他存储机制中。
虚拟化层128可将应用程序状态136存储在可通过网络132访问的云存储134中。
在某些实施例中,对于对应用程序状态136的每一读和写操作,虚拟化层128可直接对云存储134进行读和写。在某些这样的实施例中,应用程序状态136可被存储在虚拟硬盘中。包含应用程序状态136的虚拟硬盘可在云进程126被启动时挂载到云进程126,并且可提供虚拟化层128可由其来执行对应用程序状态136的读和写操作的简单机制。
在其他实施例中,虚拟化层128可维护云进程126内的本地应用程序状态。在这些实施例中,云管理系统121可发出对云进程126的停止命令,在接收到这样的命令之后,虚拟化层128可将本地存储的应用程序状态写入存储在云存储134中的应用程序状态136。
云存储134可包括应用程序包138以及可执行虚拟化层140。在某些实施例中,安装程序包可包含虚拟化层的可执行组件以及应用程序包。在应用程序130被启动时,可执行虚拟化层140和应用程序包138可被加载到云进程126中。在许多实施例中,虚拟化层128和应用程序130的加载和执行可在脚本或其他可执行代码中定义。在某些情况下,用户可手动地使得虚拟化层128被加载和配置,随后可手动地加载和启动应用程序130。
应用程序130可以是服务器应用程序,其中各个客户机设备142可通过网络132访问应用程序130。网络132可以是局域网、广域网、因特网或其他网络配置。
作为服务器应用程序,应用程序130可对客户机设备142发起的通信作出响应。这样的应用程序的示例可以是可将电子邮件消息存储在数据库中的电子邮件或消息收发系统。客户机设备142可通过使用web浏览器、电子邮件客户端或其他基于客户端的软件来访问数据库中的电子邮件消息。在另一示例中,应用程序130可以是网站,该网站允许客户机使用web浏览器来访问该网站。
在使用应用程序包时,包生成系统144可创建应用程序包的初始版本。包生成系统144可具有硬件平台146,它可包括处理器、随机存取存储器、本地存储、以及用户和网络接口、以及各种应用程序可在其上操作的操作系统148。
虚拟化层150可与定序器152一起使用来安装和执行应用程序154以创建应用程序包156。在许多实施例中,应用程序包156可包括应用程序状态158,它可以是初始应用程序状态158。
图2是示出用于创建应用程序包的方法的实施例200的流程图示。实施例200的过程是可如何使用虚拟化层来创建应用程序包并准备执行的简化示例。
其它实施例可以使用不同的序列、更多或更少的步骤、以及不同的命名或术语,来完成类似功能。在一些实施例中,各种操纵或操作集合可以与其他操作以同步方式或以异步方式并行执行。此处所选的步骤是为了以简化的形式示出一些操作原理来选择的。
实施例200是用于创建应用程序包的方法的示例。应用程序包可为应用程序定义初始或基线状态。在某些实施例中,可在云进程中安装和执行应用程序包。这些实施例可包括可安装虚拟化层并加载应用程序包以供执行的管理应用程序或脚本。
应用程序包可包含应用程序所调用的所有可执行代码(包括库、汇编或各种附加组件)以及在安装或正常操作期间应用程序存储的任何应用程序状态。可执行实施例200的过程来标识各种可执行代码并捕捉在安装或正常操作期间应用程序的状态。可将被标识的所有组件添加到包,且可使用该包来重新创建处于实施例200的过程结束时的状态的应用程序。
实施例200的操作可以是由包生成器系统114执行并具体地由定序器152和虚拟化层150执行的那些操作。
系统可在框202中开动。在框204中可加载虚拟化层。
在框206中,可定义要监视的存储对象。存储对象可以是配置文件、配置数据库、注册表或其他对象。可向虚拟化层注册对象,以使得虚拟化层可监视这些对象以寻找变更并且可将这些变更保存在可在框208中创建的应用程序状态存储系统中。在某些实施例中,虚拟化层可监视系统中的所有对象以寻找变更。其他实施例可监视特定进程的变更。
不同的实施例可使用其中存储应用程序状态信息的不同存储系统。在一个实施例中,应用程序或服务可维护独立的注册表、数据库、配置文件或其他存储对象,并且可对于对应用程序状态信息的读和写请求作出响应。在某些实施例中,这些功能可以由虚拟化层来执行。
在框210中,虚拟化层可为所监视的存储对象创建重定向路径。重定向路径可重定向可被定向到所监视的存储对象的读和写调用以重定向到应用程序状态存储对象。
在框212中,可标识应用程序内可创建并消费应用程序状态的服务或可执行代码。在某些实施例中,在执行应用程序之前可个别地标识服务或可执行代码。在其他实施例中,服务或可执行代码可在执行应用程序之后被标识,并且可由与应用程序相关联的且对所监视的对象进行读或写的那些服务或可执行代码来标识。
在框214中应用程序可开始执行。在某些实施例中,应用程序可开始安装进程。在其他实施例中,应用程序可仅开始执行。
在执行或安装期间,可在框216中检测对所监视的存储对象中的一个的变更。当在框216中检测到变更时,在框218中可存储该变更。在某些实施例中,框216和218的操作可在应用程序安装期间执行并且可生成应用程序的初始状态或黄金状态。
在执行期间的某一时间点,在框220中可接收到结束命令,之后应用程序和状态存储对象可被保存到应用程序包中。在许多实施例中,还可标识与应用程序相关联的可执行代码和数据文件并将其存储在应用程序包中。
图3是示出用于启动和继续在诸如无状态云平台之类的无状态平台内的有状态的应用程序的方法的实施例300的流程图示。实施例300的过程是如何可在云计算环境中启动或继续应用程序的简化示例。在云计算环境内,因为云计算服务提供者可将进程移动到不同的硬件或软件平台以便执行硬件或软件维护、升级硬件或软件、或为了管理数据中心内的进程,可暂停或继续在无状态云计算平台上执行的应用程序。
其它实施例可以使用不同的序列、更多或更少的步骤、以及不同的命名或术语,来完成类似功能。在一些实施例中,各种操纵或操作集合可以与其他操作以同步方式或以异步方式并行执行。此处所选的步骤是为了以简化的形式示出一些操作原理来选择的。
实施例300表示可被执行来在无状态进程内加载和执行有状态的应用程序的方法。可使用虚拟化层来重定向可与应用程序状态相关联的读和写调用。
实施例300的过程可使用包含应用程序状态的虚拟硬盘。虚拟硬盘可以是硬盘存储设备的软件表示。虚拟硬盘可用与物理硬盘存储设备类似的方式被挂载和操纵,但虚拟硬盘可以就像是简单的计算机文件那样被移动、复制、备份和执行其他操作。
在许多实施例中,虚拟硬盘可通过网络连接来挂载和访问。在可非常频繁地访问虚拟硬盘的某些这样的实施例中,网络连接可消耗大量的带宽。取决于网络的性能考虑事项(包括总带宽和等待时间),某些实施例可将虚拟硬盘移动到本地存储设备或可能在本地处理器附近的另一存储设备以最大化性能。
可使用云存储系统(有时被称为团块存储)来存储包含应用程序状态的虚拟硬盘。在这些实施例中,可通过到云存储系统的网络连接来访问虚拟硬盘。在可频繁访问应用程序状态或者到云存储系统的网络连接的等待时间或带宽对性能产生不利影响的实施例中,可将应用程序状态的副本放置在本地存储设备上以便云进程执行该应用程序。在这些实施例中,可周期性地将应用程序状态与云存储系统上的虚拟硬盘进行同步。
实施例300示出一种用于在诸如无状态云计算平台之类的无状态平台内启动或继续有状态的应用程序的方法。实施例300的过程可在最初启动应用程序时由用户执行。在某些情况下,实施例300可在云服务提供者停止和继续进程以执行维护、调整容量或出于其他原因时由云服务提供者执行。
在框302中可启动云进程。云进程可以是不可存储或维护系统或应用程序状态的无状态进程。
在框304中可加载虚拟化层。虚拟化层可监视对特定存储对象的读和写的调用,该特定存储对象诸如配置文件,包括配置信息、配置数据库、注册表或其他存储对象的目录。虚拟化层可将这些调用重定向到可存储在虚拟硬盘上的应用程序状态存储对象或存储对象的集合中。
在框304中加载虚拟化层之后,在框306中可将要执行的应用程序与虚拟化层监视相关联。对于各种实施例,关联机制可以是不同的。在某些实施例中,虚拟化层可与应用程序内的特定可执行代码相关联以便进行监视。在某些实施例中,虚拟化层可与特定存储对象相关联以便进行监视。
在框310中,可搜索云存储以寻找可包含应用程序的先前状态的虚拟硬盘。在框312中选择合适的虚拟硬盘之后,在框314中可挂载虚拟硬盘。在某些实施例中,可为应用程序的不同版本创建多个虚拟硬盘。例如,每晚或每周备份操作可创建应用程序状态的不同版本。
在某些实施例中,应用程序的多个实例可能各自在独立的无状态线程上执行。一个示例可以针对可用加载平衡系统来组织的应用程序,其中应用程序的两个、三个或甚至成百个实例可由加载平衡系统来管理以对大负载作出响应。在这样的实施例中,应用程序的每一实例可具有可包含应用程序的特定实例的应用程序状态的单独虚拟硬盘。
在这种情况下,可包含应用程序状态的虚拟硬盘可被放置在虚拟硬盘池中。随着应用程序负载的增加,可创建新的无状态进程并且可从池中选择虚拟硬盘之一并将其用于为应用程序实例提供应用程序状态。在框314中挂载虚拟硬盘时,该虚拟硬盘可能对其他进程进行挂载是不可用的。
一旦在框314中挂载虚拟硬盘,在框316中该虚拟硬盘可与虚拟化层相关联。框316的关联可涉及标识虚拟硬盘上的应用程序状态存储对象并向虚拟化层注册这些存储对象。
在某些实施例中,虚拟硬盘可包含应用程序可执行代码,该应用程序可执行代码可以采用或可以不采用应用程序包的形式。在某些实施例中,应用程序可执行代码或应用程序包可分开加载。
在使用应用程序包时,应用程序包可包括应用程序状态的初始副本或‘黄金’副本。当使用应用程序时,可创建对应用程序状态的变更并将其存储在分开的应用程序状态存储对象中。在这些实施例中,可使用区分机制来保持初始应用程序状态不变,但可将变更应用于初始应用程序状态并将这些变更存储在虚拟硬盘中的第二组存储对象中。
在框318中应用程序可开始或继续操作。
在应用程序操作期间,在框320中可监视对所监视的状态位置的调用。在框322中可遇到读操作时,在框324中可将该读操作重定向到虚拟硬盘内的合适的存储对象。在可采用区分机制并且分开地存储应用程序状态的初始版本和当前版本的实施例中,区分机制可确定访问哪个存储对象来检索所请求的状态信息。
在框322中可遇到写操作时,在框326中可将该写操作重定向到虚拟硬盘上的合适的存储对象。在应用程序状态具有本地存储的副本的实施例中,在框328中可更新虚拟硬盘上的应用程序状态的所存储的副本。
以上对本发明的描述是出于说明和描述的目的而提出的。它不旨在穷举本主题或将本主题限于所公开的精确形式,且鉴于以上教导其他修改和变型都是可能的。选择并描述实施例来最好地解释本发明的原理及其实践应用,从而使本领域的其他技术人员能够在各种实施例和各种适于所构想的特定用途的修改中最好地利用本发明的技术。所附权利要求书旨在包括除受现有技术所限的范围之外的其他替换实施例。
Claims (14)
1.一种用于在无状态云计算环境中操作的有状态的应用程序的方法,包括:
启动云进程(202),所述云进程是无状态的且具有云存储系统;
在所述云进程上加载和执行虚拟化层(204),所述虚拟化层捕捉在所述无状态的云进程中执行的有状态的应用程序的状态变更并将所述状态变更重定向到所述云存储系统;
在所述云进程上执行所述有状态的应用程序(214)以使得所述虚拟化层标识所述有状态的应用程序中的状态变更并将所述状态变更存储到所述云存储系统上;
启动第二云进程;
加载所述虚拟化层;
加载所述有状态的应用程序;
加载所述状态变更;以及
执行具有所述状态变更的所述有状态的应用程序。
2.如权利要求1所述的方法,其特征在于,所述云进程在虚拟机上操作。
3.如权利要求2所述的方法,其特征在于,所述云进程在数据中心中操作。
4.如权利要求1所述的方法,其特征在于,所述云存储系统包括虚拟硬盘,所述虚拟化层被配置成将所述状态变更存储在所述虚拟硬盘中。
5.如权利要求1所述的方法,其特征在于,所述有状态的应用程序被存储在包中。
6.如权利要求5所述的方法,其特征在于,所述包包括所述状态变更。
7.如权利要求5所述的方法,其特征在于,所述状态变更与所述包是分开的。
8.如权利要求1所述的方法,其特征在于,还包括:
从多个所述状态变更中选择所述状态变更,所述多个状态变更中的每一个包括所述云进程的多个实例的状态变更。
9.如权利要求8所述的方法,其特征在于,所述多个状态变更中的每一个由不同的云进程创建。
10.如权利要求8所述的方法,其特征在于,所述多个实例中的每一个被存储在虚拟硬盘中。
11.如权利要求10所述的方法,其特征在于,所述多个实例中的每一个是单个所述云进程的所述状态变更的不同版本。
12.一种用于在无状态云计算环境中操作的有状态的应用程序的系统,包括:
具有云进程的云计算环境(118),所述云进程中的每一个是在云计算硬件构造上执行的无状态进程;
在云进程内可操作的虚拟化层(128),所述虚拟化层捕捉在所述无状态的云进程中执行的有状态的应用程序的状态变更并将所述状态变更存储到云存储;
云进程管理系统,执行以下动作:
启动第一云进程(202);
在所述第一云进程内加载所述虚拟化层(204)从而捕捉对在所述第一云进程中执行的所述有状态的应用程序作出的状态变更并将其存储在所述云存储中;以及
在所述虚拟化层内执行所述有状态的应用程序(214);
启动第二云进程;
加载所述虚拟化层;
加载所述有状态的应用程序;
加载所述状态变更;以及
执行具有所述状态变更的所述有状态的应用程序。
13.如权利要求12所述的系统,其特征在于,所述云进程管理系统还执行以下动作:
在所述云存储内创建虚拟硬盘。
14.如权利要求13所述的系统,其特征在于,所述云进程管理系统还执行以下动作:
按预定义间隔来存储所述虚拟硬盘以创建所述虚拟硬盘的多个版本。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/912,798 | 2010-10-27 | ||
US12/912,798 US9645839B2 (en) | 2010-10-27 | 2010-10-27 | Stateful applications operating in a stateless cloud computing environment |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102521022A CN102521022A (zh) | 2012-06-27 |
CN102521022B true CN102521022B (zh) | 2015-11-25 |
Family
ID=45994310
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110354988.8A Active CN102521022B (zh) | 2010-10-27 | 2011-10-26 | 在无状态云计算环境中操作的有状态的应用程序 |
Country Status (7)
Country | Link |
---|---|
US (1) | US9645839B2 (zh) |
EP (1) | EP2633400B1 (zh) |
JP (1) | JP5961173B2 (zh) |
CN (1) | CN102521022B (zh) |
AU (1) | AU2011320899B2 (zh) |
CA (1) | CA2815306A1 (zh) |
WO (1) | WO2012057955A1 (zh) |
Families Citing this family (114)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101671184B1 (ko) * | 2010-12-14 | 2016-11-01 | 삼성전자주식회사 | 매니코어 시스템에서 응용 프로그램의 상태를 동적으로 재구성하는 장치 및 방법 |
US8606878B2 (en) | 2011-02-28 | 2013-12-10 | Red Hat, Inc. | Systems and methods for de-populating cloud data store |
US9037564B2 (en) | 2011-04-29 | 2015-05-19 | Stephen Lesavich | Method and system for electronic content storage and retrieval with galois fields on cloud computing networks |
US9137250B2 (en) | 2011-04-29 | 2015-09-15 | Stephen Lesavich | Method and system for electronic content storage and retrieval using galois fields and information entropy on cloud computing networks |
US9569771B2 (en) | 2011-04-29 | 2017-02-14 | Stephen Lesavich | Method and system for storage and retrieval of blockchain blocks using galois fields |
US9361479B2 (en) | 2011-04-29 | 2016-06-07 | Stephen Lesavich | Method and system for electronic content storage and retrieval using Galois fields and geometric shapes on cloud computing networks |
US9769250B2 (en) | 2013-08-08 | 2017-09-19 | Architecture Technology Corporation | Fight-through nodes with disposable virtual machines and rollback of persistent state |
US9838415B2 (en) | 2011-09-14 | 2017-12-05 | Architecture Technology Corporation | Fight-through nodes for survivable computer network |
US9766986B2 (en) * | 2013-08-08 | 2017-09-19 | Architecture Technology Corporation | Fight-through nodes with disposable virtual machines and rollback of persistent state |
US20130151688A1 (en) * | 2011-12-07 | 2013-06-13 | Alcatel-Lucent Usa Inc. | Optimization mechanisms for latency reduction and elasticity improvement in geographically distributed data centers |
US8700678B1 (en) * | 2011-12-21 | 2014-04-15 | Emc Corporation | Data provenance in computing infrastructure |
US10067940B2 (en) * | 2012-03-02 | 2018-09-04 | International Business Machines Corporation | Enhanced storage quota management for cloud computing systems |
JP5970314B2 (ja) * | 2012-09-26 | 2016-08-17 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | サービス制御装置およびサービス制御プログラム |
US9776078B2 (en) * | 2012-10-02 | 2017-10-03 | Razer (Asia-Pacific) Pte. Ltd. | Application state backup and restoration across multiple devices |
US10474502B2 (en) | 2013-01-14 | 2019-11-12 | Microsoft Technology Licensing, Llc | Multi-tenant license enforcement across job requests |
WO2014130742A1 (en) * | 2013-02-20 | 2014-08-28 | The Digital Marvels, Inc. | Virtual storage system client user interface |
US9729610B2 (en) | 2013-02-27 | 2017-08-08 | Greenbutton Limited | Method for intercepting an instruction produced by an application on a computer |
US9201706B2 (en) * | 2013-03-11 | 2015-12-01 | International Business Machines Corporation | Minimizing workload migrations during cloud maintenance operations |
CN103442049B (zh) | 2013-08-22 | 2016-08-31 | 浪潮电子信息产业股份有限公司 | 一种面向构件的混合型云操作系统体系结构及其通信方法 |
CN104683119A (zh) * | 2013-11-27 | 2015-06-03 | 英业达科技有限公司 | 云端运算的动态计费系统及其方法 |
US10545917B2 (en) | 2014-02-19 | 2020-01-28 | Snowflake Inc. | Multi-range and runtime pruning |
US9665633B2 (en) | 2014-02-19 | 2017-05-30 | Snowflake Computing, Inc. | Data management systems and methods |
US9715402B2 (en) | 2014-09-30 | 2017-07-25 | Amazon Technologies, Inc. | Dynamic code deployment and versioning |
US9323556B2 (en) | 2014-09-30 | 2016-04-26 | Amazon Technologies, Inc. | Programmatic event detection and message generation for requests to execute program code |
US9830193B1 (en) | 2014-09-30 | 2017-11-28 | Amazon Technologies, Inc. | Automatic management of low latency computational capacity |
US10048974B1 (en) | 2014-09-30 | 2018-08-14 | Amazon Technologies, Inc. | Message-based computation request scheduling |
US9146764B1 (en) | 2014-09-30 | 2015-09-29 | Amazon Technologies, Inc. | Processing event messages for user requests to execute program code |
US9678773B1 (en) | 2014-09-30 | 2017-06-13 | Amazon Technologies, Inc. | Low latency computational capacity provisioning |
US9600312B2 (en) | 2014-09-30 | 2017-03-21 | Amazon Technologies, Inc. | Threading as a service |
US9537788B2 (en) | 2014-12-05 | 2017-01-03 | Amazon Technologies, Inc. | Automatic determination of resource sizing |
US9733967B2 (en) | 2015-02-04 | 2017-08-15 | Amazon Technologies, Inc. | Security protocols for low latency execution of program code |
US9588790B1 (en) | 2015-02-04 | 2017-03-07 | Amazon Technologies, Inc. | Stateful virtual compute system |
US9930103B2 (en) | 2015-04-08 | 2018-03-27 | Amazon Technologies, Inc. | Endpoint management system providing an application programming interface proxy service |
US9785476B2 (en) | 2015-04-08 | 2017-10-10 | Amazon Technologies, Inc. | Endpoint management system and virtual compute system |
US9852077B2 (en) | 2015-05-21 | 2017-12-26 | Dell Products L.P. | Preserving user changes to a shared layered resource |
US9665283B2 (en) * | 2015-05-21 | 2017-05-30 | Dell Products L.P. | System and method of creating layered resources |
US9762616B2 (en) * | 2015-08-08 | 2017-09-12 | International Business Machines Corporation | Application-based security rights in cloud environments |
FR3041790B1 (fr) * | 2015-09-25 | 2019-06-07 | Rizze | Procede automatique de sauvegarde et maintenance des donnees obtenues par des services avec etat lors du lancement d'un service sans etat dans un systeme d'exploitation en nuage |
US10754701B1 (en) | 2015-12-16 | 2020-08-25 | Amazon Technologies, Inc. | Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions |
US9811434B1 (en) | 2015-12-16 | 2017-11-07 | Amazon Technologies, Inc. | Predictive management of on-demand code execution |
US10007498B2 (en) | 2015-12-17 | 2018-06-26 | Architecture Technology Corporation | Application randomization mechanism |
US10412116B1 (en) | 2015-12-17 | 2019-09-10 | Architecture Technology Corporation | Mechanism for concealing application and operation system identity |
US10412114B1 (en) | 2015-12-17 | 2019-09-10 | Architecture Technology Corporation | Application randomization mechanism |
US10200406B1 (en) | 2015-12-17 | 2019-02-05 | Architecture Technology Corporation | Configuration of application randomization mechanism |
US10284592B1 (en) | 2015-12-17 | 2019-05-07 | Architecture Technology Corporation | Application randomization mechanism |
US10200401B1 (en) | 2015-12-17 | 2019-02-05 | Architecture Technology Corporation | Evaluating results of multiple virtual machines that use application randomization mechanism |
US9910713B2 (en) | 2015-12-21 | 2018-03-06 | Amazon Technologies, Inc. | Code execution request routing |
US10067801B1 (en) | 2015-12-21 | 2018-09-04 | Amazon Technologies, Inc. | Acquisition and maintenance of compute capacity |
US10891145B2 (en) | 2016-03-30 | 2021-01-12 | Amazon Technologies, Inc. | Processing pre-existing data sets at an on demand code execution environment |
US11132213B1 (en) | 2016-03-30 | 2021-09-28 | Amazon Technologies, Inc. | Dependency-based process of pre-existing data sets at an on demand code execution environment |
US10257342B2 (en) * | 2016-03-31 | 2019-04-09 | Microsoft Technology Licensing, Llc | Validating stateful dynamic links in mobile applications |
EP3235549A1 (en) * | 2016-04-21 | 2017-10-25 | KooJoo Ltd | Gameplay trigger detection |
US10282229B2 (en) | 2016-06-28 | 2019-05-07 | Amazon Technologies, Inc. | Asynchronous task management in an on-demand network code execution environment |
US10102040B2 (en) | 2016-06-29 | 2018-10-16 | Amazon Technologies, Inc | Adjusting variable limit on concurrent code executions |
US10277708B2 (en) | 2016-06-30 | 2019-04-30 | Amazon Technologies, Inc. | On-demand network code execution with cross-account aliases |
US11314546B2 (en) * | 2016-11-18 | 2022-04-26 | Data Accelerator Ltd | Method and system for executing a containerized stateful application on a stateless computing platform using machine learning |
US10437780B2 (en) | 2016-07-14 | 2019-10-08 | Snowflake Inc. | Data pruning based on metadata |
US10250694B2 (en) * | 2016-08-19 | 2019-04-02 | Ca, Inc. | Maintaining distributed state among stateless service clients |
US10061613B1 (en) | 2016-09-23 | 2018-08-28 | Amazon Technologies, Inc. | Idempotent task execution in on-demand network code execution systems |
US10884787B1 (en) | 2016-09-23 | 2021-01-05 | Amazon Technologies, Inc. | Execution guarantees in an on-demand network code execution system |
US11119813B1 (en) | 2016-09-30 | 2021-09-14 | Amazon Technologies, Inc. | Mapreduce implementation using an on-demand network code execution system |
EP3361711A1 (en) * | 2017-02-08 | 2018-08-15 | OpenSynergy GmbH | Method for synchronizing a service between a service provider and a service consumer and system |
US10785288B2 (en) * | 2017-02-22 | 2020-09-22 | International Business Machines Corporation | Deferential support of request driven cloud services |
US10554685B1 (en) | 2017-05-25 | 2020-02-04 | Architecture Technology Corporation | Self-healing architecture for resilient computing services |
CN109218356B (zh) | 2017-06-30 | 2021-10-08 | 伊姆西Ip控股有限责任公司 | 管理服务器上有状态应用的方法和设备 |
US10564946B1 (en) | 2017-12-13 | 2020-02-18 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10901804B2 (en) | 2017-12-15 | 2021-01-26 | Fujitsu Limited | Apparatus and method to select services for executing a user program based on a code pattern included therein |
CN108052377B (zh) * | 2017-12-29 | 2022-02-08 | 腾讯科技(深圳)有限公司 | 基于云的输入处理方法、装置、服务器和存储介质 |
US10698666B2 (en) * | 2017-12-29 | 2020-06-30 | Microsoft Technology Licensing, Llc | Automatically building software projects |
US10353678B1 (en) | 2018-02-05 | 2019-07-16 | Amazon Technologies, Inc. | Detecting code characteristic alterations due to cross-service calls |
US10831898B1 (en) | 2018-02-05 | 2020-11-10 | Amazon Technologies, Inc. | Detecting privilege escalations in code including cross-service calls |
US10733085B1 (en) | 2018-02-05 | 2020-08-04 | Amazon Technologies, Inc. | Detecting impedance mismatches due to cross-service calls |
US10725752B1 (en) | 2018-02-13 | 2020-07-28 | Amazon Technologies, Inc. | Dependency handling in an on-demand network code execution system |
US10776091B1 (en) | 2018-02-26 | 2020-09-15 | Amazon Technologies, Inc. | Logging endpoint in an on-demand code execution system |
US10853115B2 (en) | 2018-06-25 | 2020-12-01 | Amazon Technologies, Inc. | Execution of auxiliary functions in an on-demand network code execution system |
US10649749B1 (en) | 2018-06-26 | 2020-05-12 | Amazon Technologies, Inc. | Cross-environment application of tracing information for improved code execution |
US11146569B1 (en) | 2018-06-28 | 2021-10-12 | Amazon Technologies, Inc. | Escalation-resistant secure network services using request-scoped authentication information |
US10949237B2 (en) | 2018-06-29 | 2021-03-16 | Amazon Technologies, Inc. | Operating system customization in an on-demand network code execution system |
US11099870B1 (en) | 2018-07-25 | 2021-08-24 | Amazon Technologies, Inc. | Reducing execution times in an on-demand network code execution system using saved machine states |
US11243953B2 (en) | 2018-09-27 | 2022-02-08 | Amazon Technologies, Inc. | Mapreduce implementation in an on-demand network code execution system and stream data processing system |
US11099917B2 (en) | 2018-09-27 | 2021-08-24 | Amazon Technologies, Inc. | Efficient state maintenance for execution environments in an on-demand code execution system |
US11943093B1 (en) | 2018-11-20 | 2024-03-26 | Amazon Technologies, Inc. | Network connection recovery after virtual machine transition in an on-demand network code execution system |
US10884812B2 (en) | 2018-12-13 | 2021-01-05 | Amazon Technologies, Inc. | Performance-based hardware emulation in an on-demand network code execution system |
US11010188B1 (en) | 2019-02-05 | 2021-05-18 | Amazon Technologies, Inc. | Simulated data object storage using on-demand computation of data objects |
US11861386B1 (en) | 2019-03-22 | 2024-01-02 | Amazon Technologies, Inc. | Application gateways in an on-demand network code execution system |
US11119809B1 (en) | 2019-06-20 | 2021-09-14 | Amazon Technologies, Inc. | Virtualization-based transaction handling in an on-demand network code execution system |
US11159528B2 (en) | 2019-06-28 | 2021-10-26 | Amazon Technologies, Inc. | Authentication to network-services using hosted authentication information |
US11115404B2 (en) | 2019-06-28 | 2021-09-07 | Amazon Technologies, Inc. | Facilitating service connections in serverless code executions |
US11190609B2 (en) | 2019-06-28 | 2021-11-30 | Amazon Technologies, Inc. | Connection pooling for scalable network services |
US11656892B1 (en) | 2019-09-27 | 2023-05-23 | Amazon Technologies, Inc. | Sequential execution of user-submitted code and native functions |
US11023311B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | On-demand code execution in input path of data uploaded to storage service in multiple data portions |
US11386230B2 (en) | 2019-09-27 | 2022-07-12 | Amazon Technologies, Inc. | On-demand code obfuscation of data in input path of object storage service |
US11360948B2 (en) | 2019-09-27 | 2022-06-14 | Amazon Technologies, Inc. | Inserting owner-specified data processing pipelines into input/output path of object storage service |
US11023416B2 (en) | 2019-09-27 | 2021-06-01 | Amazon Technologies, Inc. | Data access control system for object storage service based on owner-defined code |
US10996961B2 (en) | 2019-09-27 | 2021-05-04 | Amazon Technologies, Inc. | On-demand indexing of data in input path of object storage service |
US11550944B2 (en) | 2019-09-27 | 2023-01-10 | Amazon Technologies, Inc. | Code execution environment customization system for object storage service |
US11250007B1 (en) | 2019-09-27 | 2022-02-15 | Amazon Technologies, Inc. | On-demand execution of object combination code in output path of object storage service |
US10908927B1 (en) | 2019-09-27 | 2021-02-02 | Amazon Technologies, Inc. | On-demand execution of object filter code in output path of object storage service |
US11055112B2 (en) | 2019-09-27 | 2021-07-06 | Amazon Technologies, Inc. | Inserting executions of owner-specified code into input/output path of object storage service |
US11416628B2 (en) | 2019-09-27 | 2022-08-16 | Amazon Technologies, Inc. | User-specific data manipulation system for object storage service based on user-submitted code |
US11106477B2 (en) | 2019-09-27 | 2021-08-31 | Amazon Technologies, Inc. | Execution of owner-specified code during input/output path to object storage service |
US11263220B2 (en) | 2019-09-27 | 2022-03-01 | Amazon Technologies, Inc. | On-demand execution of object transformation code in output path of object storage service |
US11394761B1 (en) | 2019-09-27 | 2022-07-19 | Amazon Technologies, Inc. | Execution of user-submitted code on a stream of data |
US11103780B2 (en) | 2019-11-06 | 2021-08-31 | Microsoft Technology Licensing, Llc | Saving and restoring virtual machine states and hardware states for application content |
US10942795B1 (en) | 2019-11-27 | 2021-03-09 | Amazon Technologies, Inc. | Serverless call distribution to utilize reserved capacity without inhibiting scaling |
US11119826B2 (en) | 2019-11-27 | 2021-09-14 | Amazon Technologies, Inc. | Serverless call distribution to implement spillover while avoiding cold starts |
US11714682B1 (en) | 2020-03-03 | 2023-08-01 | Amazon Technologies, Inc. | Reclaiming computing resources in an on-demand code execution system |
US11188391B1 (en) | 2020-03-11 | 2021-11-30 | Amazon Technologies, Inc. | Allocating resources to on-demand code executions under scarcity conditions |
US11775640B1 (en) | 2020-03-30 | 2023-10-03 | Amazon Technologies, Inc. | Resource utilization-based malicious task detection in an on-demand code execution system |
US11593270B1 (en) | 2020-11-25 | 2023-02-28 | Amazon Technologies, Inc. | Fast distributed caching using erasure coded object parts |
US11550713B1 (en) | 2020-11-25 | 2023-01-10 | Amazon Technologies, Inc. | Garbage collection in distributed systems using life cycled storage roots |
US11947838B2 (en) | 2020-11-30 | 2024-04-02 | International Business Machines Corporation | Utilizing statuses to preserve a state of data during procedures such as testing without causing functional interruptions |
US11388210B1 (en) | 2021-06-30 | 2022-07-12 | Amazon Technologies, Inc. | Streaming analytics using a serverless compute system |
CN114296879B (zh) * | 2021-12-30 | 2023-10-24 | 南通机敏软件科技有限公司 | 支持创建openstack云硬盘过程活性检测的方法、存储介质及处理器 |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7028305B2 (en) * | 2001-05-16 | 2006-04-11 | Softricity, Inc. | Operating system abstraction and protection layer |
US7680834B1 (en) | 2004-06-08 | 2010-03-16 | Bakbone Software, Inc. | Method and system for no downtime resychronization for real-time, continuous data protection |
US9450966B2 (en) * | 2004-11-29 | 2016-09-20 | Kip Sign P1 Lp | Method and apparatus for lifecycle integrity verification of virtual machines |
US20090182955A1 (en) | 2006-09-08 | 2009-07-16 | Rao Cherukuri | Application configuration across client devices of a local system |
US8595356B2 (en) * | 2006-09-28 | 2013-11-26 | Microsoft Corporation | Serialization of run-time state |
WO2009043033A2 (en) | 2007-09-28 | 2009-04-02 | Xcerion Aktiebolag | Network operating system |
US8239509B2 (en) | 2008-05-28 | 2012-08-07 | Red Hat, Inc. | Systems and methods for management of virtual appliances in cloud-based network |
US8196145B2 (en) * | 2008-06-26 | 2012-06-05 | International Business Machines Corporation | Determining real time stateful business application processing in an otherwise stateless service-oriented architecture |
US8572580B2 (en) * | 2008-07-28 | 2013-10-29 | Microsoft Corporation | Computer application packages with customizations |
US20100042670A1 (en) | 2008-08-13 | 2010-02-18 | Electronic Data Systems Corporation | Integrated development engine for a cloud computing environment |
US20100064033A1 (en) | 2008-09-08 | 2010-03-11 | Franco Travostino | Integration of an internal cloud infrastructure with existing enterprise services and systems |
US8307187B2 (en) * | 2008-09-12 | 2012-11-06 | Vmware, Inc. | VDI Storage overcommit and rebalancing |
US8312419B2 (en) | 2008-10-30 | 2012-11-13 | Hewlett-Packard Development Company, L.P. | Automated lifecycle management of a computer implemented service |
EP2411923A4 (en) | 2009-03-25 | 2013-10-30 | Hewlett Packard Development Co | DETECTING AN APPLICATION STATUS |
US9448852B2 (en) * | 2009-08-28 | 2016-09-20 | Oracle International Corporation | Managing virtual machines |
US20110093847A1 (en) * | 2009-10-15 | 2011-04-21 | Shah Dharmesh R | Application Hosting Service for Cloud Environments Using Dynamic Machine Images |
US20110126197A1 (en) * | 2009-11-25 | 2011-05-26 | Novell, Inc. | System and method for controlling cloud and virtualized data centers in an intelligent workload management system |
JP5658768B2 (ja) * | 2010-06-04 | 2015-01-28 | エンパイア テクノロジー ディベロップメント エルエルシー | クラウドベースのアプリケーションのためのエージェントレスなフォローミーサービス |
US8566640B2 (en) * | 2010-07-19 | 2013-10-22 | Veeam Software Ag | Systems, methods, and computer program products for instant recovery of image level backups |
US9058229B2 (en) * | 2010-10-04 | 2015-06-16 | Lenovo (Singapore) Pte. Ltd. | Method and apparatus for maintaining operability with a cloud computing environment |
-
2010
- 2010-10-27 US US12/912,798 patent/US9645839B2/en active Active
-
2011
- 2011-09-27 CA CA2815306A patent/CA2815306A1/en not_active Abandoned
- 2011-09-27 EP EP11836820.8A patent/EP2633400B1/en active Active
- 2011-09-27 JP JP2013536631A patent/JP5961173B2/ja not_active Expired - Fee Related
- 2011-09-27 WO PCT/US2011/053531 patent/WO2012057955A1/en active Application Filing
- 2011-09-27 AU AU2011320899A patent/AU2011320899B2/en not_active Ceased
- 2011-10-26 CN CN201110354988.8A patent/CN102521022B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
US9645839B2 (en) | 2017-05-09 |
US20120110570A1 (en) | 2012-05-03 |
WO2012057955A1 (en) | 2012-05-03 |
AU2011320899A1 (en) | 2013-05-02 |
CN102521022A (zh) | 2012-06-27 |
JP5961173B2 (ja) | 2016-08-02 |
EP2633400A1 (en) | 2013-09-04 |
CA2815306A1 (en) | 2012-05-03 |
AU2011320899B2 (en) | 2015-01-22 |
EP2633400B1 (en) | 2022-07-13 |
JP2013541113A (ja) | 2013-11-07 |
EP2633400A4 (en) | 2014-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102521022B (zh) | 在无状态云计算环境中操作的有状态的应用程序 | |
US11038778B2 (en) | Methods and systems that provision distributed applications that invoke functions provided by a distributed-function-as-a-service feature | |
US7689989B2 (en) | Thread monitoring using shared memory | |
CN105677431B (zh) | 将后台工作和前台工作解耦合 | |
CN102521009B (zh) | 创建并部署服务准备完毕虚拟硬盘 | |
CN102782648B (zh) | 用于诸如web应用之类的服务器应用的虚拟环境 | |
JP5367074B2 (ja) | 仮想マシンとアプリケーション・ライフ・サイクルの同期 | |
CN102741814B (zh) | 可扩展应用虚拟化子系统 | |
US8832369B2 (en) | Systems and methods for remote raid configuration in an embedded environment | |
US20090094596A1 (en) | Systems and methods for an adaptive installation | |
US8458693B2 (en) | Transitioning from static to dynamic cluster management | |
JP2004512610A (ja) | ネットワーク化されたシステムの高アベイラビリティを維持する技法 | |
CN107534571A (zh) | 管理虚拟网络功能 | |
CN102571905A (zh) | 为在线服务管理网络和机器 | |
CN102279765A (zh) | 预编译托存托管代码 | |
TW200828118A (en) | Method and process for using common preinstallation environment for heterogeneous operating systems | |
EP1917585A2 (en) | Application server distributing the jobs to virtual environments running on different computers | |
CN102637137A (zh) | 基于策略的应用递送 | |
US20170163732A1 (en) | Inter-task communication within application-release-management pipelines | |
Helland | Condos and clouds | |
CN101877655A (zh) | 网络管理系统、网管服务器和方法 | |
US20190229983A1 (en) | Methods and systems that provision applications across multiple computer systems | |
US20120331120A1 (en) | Controlling application landscapes | |
CN105208123A (zh) | 一种虚拟桌面的实现方法及其系统 | |
CN105122209A (zh) | 从软件框架提供的网络服务 |
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: 20150724 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150724 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 |