Stateful applications operating in a stateless cloud computing environment

US9645839B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9645839-B2
Application numberUS-91279810-A
CountryUS
Kind codeB2
Filing dateOct 27, 2010
Priority dateOct 27, 2010
Publication dateMay 9, 2017
Grant dateMay 9, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A cloud computing environment may use a virtualization layer within a stateless cloud computing process to capture, store, and retrieve state information generated by a stateful application executing within the process. The virtualization layer may monitor various state storage systems to identify changes to stateful items and store the stateful items in a state storage mechanism. The virtualization layer may intercept and redirect calls to the stateful items stored in the state storage mechanism. A cloud computing manager may start and stop the stateless cloud computing process, and may recover the state and resume executing the application.

First claim

Opening claim text (preview).

What is claimed is: 1. A method, implemented at a computer system that includes one or more processors, for operating a stateful application in a stateless environment, the method comprising: starting a process that is stateless and that has a storage system associated therewith; using the stateless process to execute an application that has state, wherein an initial state of the application was previously stored in a first storage object in the storage system, and wherein the application is first executed using the initial state stored in the first storage object; registering the application with a virtualization layer of the computer system, wherein, upon completion of the registration, the virtualization layer is operable to monitor executable code that is associated with the application; capturing, by the virtualization layer, a change to the initial state of the application wherein the capture to the change to the initial state of the application includes the following: writing the change to the initial state of the application to a local storage area; and periodically copying data stored in the local storage area and then writing the copied data to a second storage object in the storage system rather than writing the copied data to the first storage object, wherein the data that was copied and written at least includes the change to the initial state of the application, and wherein the initial state stored in the first storage object remains unchanged, wherein, prior to executing the application, the computer system determines that the application has a network connection bandwidth that adversely impacts a performance of the application; and in response to determining that the network connection bandwidth adversely impacts the performance of the application, create a copy of the initial state of the application and store the copy on the local storage area. 2. The method of claim 1 , wherein the stateless process operates on a virtual machine. 3. The method of claim 2 , wherein the stateless process operates in a datacenter. 4. The method of claim 1 , wherein the storage system that is associated with the stateless process comprises a virtual hard disk, and wherein the virtualization layer is configured to store the change to the initial state of the application on the virtual hard disk. 5. The method of claim 1 , wherein the application is stored in a package. 6. The method of claim 5 , wherein the package includes the change to the initial state of the application. 7. The method of claim 5 , wherein the change to the initial state of the application is separate from the package. 8. The method of claim 1 , wherein the method further comprises: detecting a condition in which a plurality of processes that are executing on hardware of the computer system are determined to be in a state of low usage, wherein the stateless process that is executing the application is included within the plurality of processes; and in response to detecting the condition, consolidating the plurality of processes such that the plurality of processes execute only on a subset of the hardware. 9. The method of claim 8 , wherein the consolidation of the plurality of processes at least includes the following: storing a present state of the application on the storage system associated with the stateless process; pausing the execution of the application; pausing the stateless process; restarting the paused stateless process on the subset of the hardware; and restarting the paused application using the present state of the application that was previously stored on the storage system. 10. The method of claim 1 , wherein the stateless process is executing a first instance of the application, and wherein a second stateless process having a different storage system associated therewith is executing a second instance of the application. 11. The method of claim 10 , wherein both the storage system associated with the stateless process and the different storage system associated with the second stateless process are virtual hard disks, the virtual hard disk of the stateless process being independent and distinct from the virtual hard disk of the second stateless process. 12. The method of claim 11 , wherein the virtual hard disk of the stateless process and the virtual hard disk of the second stateless process were selected from a pool of virtual hard disks. 13. A computer system, comprising: one or more processors; and one or more computer-readable hardware storage devices having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to operate a stateful application in a stateless environment by causing the computer system to: start a process that is stateless and that has a storage system associated therewith; use the stateless process to execute an application that has state, wherein an initial state of the application was previously stored in a first storage object in the storage system, and wherein the application is first executed using the initial state stored in the first storage object; register the application with a virtualization layer of the computer system, wherein, upon completion of the registration, the virtualization layer is operable to monitor executable code that is associated with the application; use the virtualization layer to capture a change to the initial state of the application, wherein the capture to the change to the initial state of the application includes the following: writing the change to the initial state of the application to a local storage area; and periodically copying data stored in the local storage area and then writing the copied data to a second storage object in the storage system rather than writing the copied data to the first storage object, wherein the data that was copied and written at least includes the change to the initial state of the application, and wherein the initial state stored in the first storage object remains unchanged, wherein, prior to executing the application, the computer system determines that the application has a network connection bandwidth that adversely impacts a performance of the application; and in response to determining that the network connection bandwidth adversely impacts the performance of the application, create a copy of the initial state of the application and store the copy on the local storage area. 14. The system of claim 13 , wherein the computer-executable instructions further cause the computer system to create a virtual hard disk within the storage system that is associated with the stateless process. 15. The system of claim 14 , wherein the computer-executable instructions further cause the computer system to: store the virtual hard disk at a predefined interval to create a plurality of versions of the virtual hard disk. 16. The system of claim 13 , wherein the system further comprises: a sequencer that creates a package which includes both the application and the initial state of the application. 17. The system of claim 16 , wherein the initial state includes operating system registry settings and at least one configuration file change. 18. One or more hardware storage devices having thereon computer-executable instructions that are executable by one or more processors of a computer system to cause the computer system to operate a stateful application in a stateless environment by at least causing the computer system to: start a process that is stateless and that has a storage system assoc

Assignees

Inventors

Classifications

  • Hypervisors; Virtual machine monitors · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9645839B2 cover?
A cloud computing environment may use a virtualization layer within a stateless cloud computing process to capture, store, and retrieve state information generated by a stateful application executing within the process. The virtualization layer may monitor various state storage systems to identify changes to stateful items and store the stateful items in a state storage mechanism. The virtualiz…
Who is the assignee on this patent?
Jacobson Neil A, Reierson Kristofer H, Montgomery Andrew, and 1 more
What technology area does this patent fall under?
Primary CPC classification G06F9/45533. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue May 09 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).