Dynamic reconstruction of application state upon application re-launch

US9495142B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9495142-B2
Application numberUS-201414536583-A
CountryUS
Kind codeB2
Filing dateNov 7, 2014
Priority dateNov 7, 2014
Publication dateNov 15, 2016
Grant dateNov 15, 2016

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 service provider system may include an application fulfillment platform that delivers desktop applications on demand to desktops on physical computing devices or virtual desktop instances of end users. An application delivery agent installed on an end user's computing resource instance may store application state data (e.g., configuration data, runtime settings, or application templates) or scratch data that is generated by an application executing on the computing resource instance to a secure location on service provider storage resources. After a machine failure or change, or a rebuilding of a virtualized computing resource instance or virtual desktop instance, an application delivery agent installed on the new machine or instance may reinstall the application, retrieve the stored application state or scratch data from service provider resources, and restore the application to the last known persisted state. Upon request, the application delivery agent may restore the application to any earlier persisted state.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a plurality of computing nodes that collectively provide virtual computing services and storage services to one or more clients of a service provider, each of the computing nodes comprising at least one processor and a memory; and a virtualized computing resource instance executing on one of the computing nodes; wherein the virtualized computing resource instance implements a virtual desktop instance on behalf of a given end user that receives services from the service provider, and wherein an application delivery agent and one or more desktop applications are installed on the virtual desktop instance; wherein one or more of the plurality of computing nodes implement an application fulfillment platform; wherein the application delivery agent is configured to store application state data or scratch data generated by one of the one or more desktop applications to a secure location on storage resources of the service provider; and wherein, in response to a new virtual desktop instance being provisioned on behalf of the given end user, an application delivery agent installed on the new virtual desktop instance is configured to: determine that the given end user is entitled to the one of the one or more desktop applications; obtain the one of the one or more desktop applications from the application fulfillment platform; reinstall the one of the one or more desktop applications on the new virtual desktop instance; obtain information from the application fulfillment platform indicating the secure location at which the application state data or scratch data was stored; retrieve the application state data or scratch data from the secure location at which it was stored; and attach the application state data or scratch data to the reinstalled desktop application on the new virtual desktop instance. 2. The system of claim 1 , wherein to determine that the given end user is entitled to the one of the one or more desktop applications, the application delivery agent installed on the new virtual desktop instance is configured to: send a request to the application fulfillment platform for information indicating desktop applications to which the given end user is entitled; and receive from the application fulfillment platform the information indicating one or more desktop applications to which the given end user is entitled, the information including the one of the one or more desktop applications. 3. The system of claim 2 , wherein the information indicating the secure location at which the application state data or scratch data was stored is included in the information indicating the one or more desktop applications to which the given end user is entitled that is received from the application fulfillment platform. 4. The system of claim 2 , wherein the application fulfillment platform is configured to maintain one or more data structures indicating a mapping between each of a plurality of desktop applications that are available for delivery from the application fulfillment platform and one or more end users that are entitled to each of the plurality of desktop applications; and wherein, in response to the request for the information indicating one or more desktop applications to which the given end user is entitled, the application fulfillment platform is configured to return the information, wherein the information returned is dependent on the mapping. 5. The system of claim 1 , wherein the application fulfillment platform is configured to maintain one or more data structures indicating a mapping between each of the plurality of desktop applications that are available for delivery from the application fulfillment platform and one or more end users to which a license for each of the plurality of desktop applications is currently allocated; wherein the application delivery agent installed on the new virtual desktop instance is further configured to obtain information from the application fulfillment platform indicating that the given end user has been allocated a license for the one of the desktop applications; and wherein the application delivery agent installed on the new virtual desktop instance is further configured to obtain and reinstall the one of the desktop applications in response to obtaining the information from the application fulfillment platform indicating that the given end user has been allocated a license for the one of the desktop applications. 6. A method, comprising: performing, by one or more computers that collectively implement an application fulfillment platform of a service provider: receiving, from an application delivery agent installed on a computing resource instance of a given user, a request to execute a desktop application on behalf of the given user; and providing the desktop application to the computing resource instance of the given user for installation by the application delivery agent, wherein said providing comprises returning information to the application delivery agent indicating a location at which application state data or scratch data from a previous execution of the desktop application on behalf of the given user was stored on one or more storage resources of the service provider; and performing, by the application delivery agent: installing the desktop application; retrieving the application state data or scratch data from the one or more storage resources of the service provider; and attaching the application state data or scratch data to the installed desktop application. 7. The method of claim 6 , wherein said providing comprises providing a virtualized application package for the desktop application to the computing resource instance. 8. The method of claim 6 , wherein the computing resource instance of the given user comprises a physical computing device. 9. The method of claim 6 , further comprising, prior to receiving the request to execute a desktop application on behalf of the given user: storing, on the one or more storage resources of the service provider, by an application delivery agent installed on a computing resource instance on which the desktop application was previously executed on behalf of the given user, the application state data or scratch data from the previous execution of the desktop application. 10. The method of claim 9 , wherein the method further comprises determining, by the application delivery agent installed on the computing resource instance on which the desktop application was previously executed on behalf of the given user prior to said storing, that the desktop application was delivered as a virtualized application package; and wherein said storing is performed in response to determining that the desktop application was delivered as the virtualized application package. 11. The method of claim 9 , wherein said storing comprises: creating a snapshot of the application state data or scratch data that was generated by the desktop application during the previous execution of the desktop application from a storage location on the computing resource instance on which the desktop application was previously executed on behalf of the given user; and storing the snapshot on the one or more storage resources of the service provider. 12. The method of claim 11 , wherein the storage location comprises: a directory in standard directory structure for storing application state or scratch data for desktop applications that are executed on the computing resource instance on which the desktop application was previously executed on behalf of the given user; a location specified in a profile associated with the given user; or a location sp

Assignees

Inventors

Classifications

  • G06F8/61Primary

    Installation · CPC title

  • Software deployment · CPC title

  • in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46) · CPC title

  • Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131) · CPC title

  • G06F8/63Primary

    Image based installation; Cloning; Build to order · 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 US9495142B2 cover?
A service provider system may include an application fulfillment platform that delivers desktop applications on demand to desktops on physical computing devices or virtual desktop instances of end users. An application delivery agent installed on an end user's computing resource instance may store application state data (e.g., configuration data, runtime settings, or application templates) or s…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification G06F8/61. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 15 2016 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).