Optimized virtual machine specification for provisioning application specific runtime environment
First Claim
1. A system comprising:
- a repository configured to store an executable application, resources included in a distribution of a general purpose runtime environment, a virtual machine specification, and an application environment specification, wherein the application environment specification identifies a subset of the resources included in the distribution of the general purpose runtime environment on which execution of the executable application is dependent, and wherein the virtual machine specification defines virtual machine attributes for a virtual machine container that are determined based on the subset of resources on which execution of the executable application is dependent;
a provisioning server configured to use the application environment specification to locate the subset of the resources and to use the subset of the resources to generate an image of an application specific runtime environment for the executable application;
a virtual machine manager configured to;
create the virtual machine container using the virtual machine specification, wherein the virtual machine container includes characteristics based on the virtual machine attributes, the characteristics being configured for the subset of resources used to generate the image of the application specific runtime environment, andplace the image of the application specific runtime environment in the virtual machine container.
4 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods of executing an application in an application specific runtime environment are disclosed. The application specific runtime environment is defined by an application environment specification to include a minimal or reduced set of software resources required for execution of the application. The application environment is generated by determining software resource dependencies and is optionally used to provision the application specific runtime environment in real-time in response to a request to execute the application. Use of the application specific runtime environment allows the application to be executed using fewer computing resources, e.g., memory. The application specific runtime environment is optionally disposed within a virtual machine. The virtual machine may be created in response to the request to run the executable application and the virtual machine may be automatically provisioned using an associated application environment specification.
215 Citations
23 Claims
-
1. A system comprising:
-
a repository configured to store an executable application, resources included in a distribution of a general purpose runtime environment, a virtual machine specification, and an application environment specification, wherein the application environment specification identifies a subset of the resources included in the distribution of the general purpose runtime environment on which execution of the executable application is dependent, and wherein the virtual machine specification defines virtual machine attributes for a virtual machine container that are determined based on the subset of resources on which execution of the executable application is dependent; a provisioning server configured to use the application environment specification to locate the subset of the resources and to use the subset of the resources to generate an image of an application specific runtime environment for the executable application; a virtual machine manager configured to; create the virtual machine container using the virtual machine specification, wherein the virtual machine container includes characteristics based on the virtual machine attributes, the characteristics being configured for the subset of resources used to generate the image of the application specific runtime environment, and place the image of the application specific runtime environment in the virtual machine container. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system comprising:
-
a provisioning server comprising; one or more computer processors; and a computer-readable storage medium comprising instructions for controlling the one or more computer processors to be operable to; generate a virtual machine specification based on an application environment specification, wherein the application environment specification identifies a subset resources included in a distribution of a general purpose runtime environment on which execution of an executable application is dependent, and wherein the virtual machine specification defines virtual machine attributes for a virtual machine container that are determined based on the subset of resources on which execution of the executable application is dependent; a virtual machine manager configured to; create the virtual machine container using the virtual machine specification, wherein the virtual machine container includes characteristics based on the virtual machine attributes, the characteristics being configured for the subset of resources used to generate the image of the application specific runtime environment, and place an image of an application specific runtime environment in the virtual machine container. - View Dependent Claims (14, 15)
-
-
16. A computer implemented method comprising:
-
determining a virtual machine specification defining virtual machine attributes for a virtual machine container that are determined based on a subset of resources included in a distribution of a general purpose runtime environment on which execution of an executable application is dependent; provisioning an application specific runtime environment using an application environment specification, wherein the application specific runtime environment includes the subset of resources on which the executable application is dependent; and creating an image of the provisioned application specific runtime environment; creating the virtual machine container for executing the executable application using the virtual machine specification, the virtual machine container including characteristics based on the virtual machine attributes configured for the subset of resources; and placing the image of an application specific runtime environment within the virtual machine container, the application specific runtime environment being based on an application environment specification including identification of the subset of resources on which execution of the executable application is dependent. - View Dependent Claims (17, 18, 19)
-
-
20. A computer-implemented method comprising:
-
identifying an application environment specification; locating a subset of resources on which execution of an executable application is dependent using the application environment specification in a repository, the repository including resources included in a distribution of the general purpose runtime environment; provisioning an application specific runtime environment, the application specific runtime environment including the subset of resources on which the executable application is dependent; creating an image of the provisioned application specific runtime environment; and creating a virtual machine specification based on the application environment specification, the virtual machine specification defining virtual machine attributes for a virtual machine container that are determined based on the subset of resources on which execution of the executable application is dependent. - View Dependent Claims (21, 22)
-
-
23. A computer-implemented method comprising:
-
identifying a first unresolved symbol in an executable application; identifying a first resource comprising a definition of the first unresolved symbol; adding a first identifier of the first resource to an application environment specification, the application environment specification comprising a specification of an application specific runtime environment configured for executing the executable application; determining if the first resource includes a second unresolved symbol; if the first resource includes a second unresolved symbol, identifying a second resource comprising a definition of the second unresolved symbol and adding a second identifier of the second resource to the application environment specification; and creating a virtual machine specification configured for executing the executable application based on the application environment specification, wherein the virtual machine specification defines virtual machine attributes for a virtual machine container that are determined based on the first resource and the second resource, the first resource and the second resource being a subset of resources included in a distribution of a general runtime environment.
-
Specification