Computer application packages with customizations
AssigneeMicrosoft Corporation
InventorsJohn M Sheehan, Kristofer H Reierson
Life of this patent
Estimating the term…
Abstract
Applications operated within a virtual environment may be organized into a package containing various software components. Each software component or resource may have a specific name and other metadata, including a designator for overwriting or modifying the component. A policy may define how any changes to specific software components may be stored and retrieved based on the designator. One or more sets of changed components may be generated, persisted, and re-applied to create a customized version of the application based on the original package. The application may be operated within a virtual application environment or within a dedicated virtual machine environment.
Claims20
A method comprising:
- creating a first version of an application package for an application, said first version of said application package containing a plurality of resources and resource metadata, said plurality of resources used to execute said application within an enterprise, said resource metadata defining for each of said plurality of resources at least how said resource is to be customized;
- processing said first version of said application package to execute said application in a virtual environment context within said enterprise;
- detecting a change to a resource during said executing, said resource being one of said plurality of resources;
- referring to an enterprise policy for said enterprise to classify said detected change to a customized resource;
- evaluating said enterprise policy along with resource metadata associated with said resource to determine a scope for persisting said change, to said resource;
- and
- storing said change to said first resource in said customized resource in accordance with said scope determination, to use said customized resource in place of said resource when said application is restarted in another virtual environment context within said enterprise.
A system comprising:
- an execution engine configured to process a first version of an application package to execute an application in a virtual environment context within an enterprise, said application package comprising containing a plurality of resources and resource metadata for each said plurality of resources used to execute said application within said enterprise, said resource metadata defining for each of said plurality of resources at least how said resource is to be customized;
- and
- a runtime change manager configured to:
- detect that a change has occurred with a resource, said resource being one of said plurality of resources in said first version of said application package;
- refer to an enterprise policy for said enterprise to classify said detected change to a customized resource;
- evaluate said enterprise policy along with resource metadata associated with said resource to determine a scope for persisting said change;
- storing said change in said customized resource in accordance with said scope determination, to use said customized resource in place of said resource when said application is restarted in another virtual environment context within said enterprise.
A computer readable storage medium that is distinguished from transmission media comprising computer executable instructions configured to perform a method comprising:
- accessing a first version of an application package for an application, said first version of said application package containing a plurality of resources and resource metadata, said plurality of resources used to execute said application within an enterprise, said resource metadata defining, for each of said plurality of resources, at least how said resource is to be customized;
- receiving a set of customized resources, at least one of said set of customized resources corresponding to at least one of said plurality of resources in said first version of said application package;
- receiving a second version of said application package said second version being newer than said first version, second version containing second resource metadata defining how resources in the second version of the said application package is to be customized;
- determining that a first resource within the plurality of resources corresponds to a second resource within said second version of said application package;
- determining that said second resource is different than said first resource;
- in response to determining that said second resource is different than said first resource, replacing said first resource with said second resource;
- identifying a third resource within said set of customized resources that also corresponds to said first resource;
- referring to an enterprise policy for said enterprise to classify said third resource;
- evaluating said enterprise policy along with said second resource metadata associated with said second resource to determine that said third resource is incompatible with said second version for use within said enterprise;
- and
- making said third resource unavailable for use within said enterprise.
Dependencies are inferred from the claim text.