Virtual machine
AssigneeGoogle Inc.
InventorsTomas Isdal, Ming Zhao
Life of this patent
Estimating the term…
Abstract
A computer-implemented method for executing a software application in a virtual machine executing on a data processing device includes receiving software code for a software application, determining application programming interfaces referenced by the software code, determining portions of an operating system accessed by the software code and creating an application container in the virtual machine. The method also includes application programming interfaces referenced by the software code inside the application container, portions of the operating system accessed by the software code inside the application container and executing the software application inside the application container on the virtual machine.
Claims14
A system comprising:
- data processing hardware;
- and
- memory hardware in communication with the data processing hardware, the memory hardware storing instructions that when executed on the data processing hardware cause the data processing hardware to perform operations comprising:
- executing a virtual machine comprising:
- an image of an operating system executable on the virtual machine, the operating system comprising:
- a file system, and
- a plurality of application programming interface libraries;
- and an application container comprising:
- a file system mount interfaced with the file system residing outside the application container;
- a software application including a reference to an application programming interface;
- and
- the application programming interface referenced by the software application,
- wherein the application container does not include references to resources that are not referenced by the software application.
A computer-implemented method for executing a software application in a virtual machine executing on a data processing device, the method comprising:
- receiving software code for a software application;
- determining at least one application programming interface referenced by the software code;
- determining portions of an operating system accessed by the software code;
- creating an application container in the virtual machine;
- including the at least one application programming interface referenced by the software code inside the application container;
- including the portions of the operating system accessed by the software code inside the application container;
- executing the software application inside the application container on the virtual machine;
- generating a warning when the software application attempts to access a resource outside the application container;
- and
- terminating the software application when the software application attempts to access a resource outside the application container,
- wherein the at least one application programming interface referenced by the software code included inside the application container does not include any references to resources that are not referenced by the software application.
A computer-implemented method for executing a software application in a virtual machine executing on a data processing device, the method comprising:
- receiving software code for a software application;
- determining at least one application programming interface referenced by the software code;
- determining portions of an operating system accessed by the software code;
- creating an application container in the virtual machine;
- including the at least one application programming interface referenced by the software code inside the application container;
- including the portions of the operating system accessed by the software code inside the application container;
- executing the software application inside the application container on the virtual machine;
- and
- halting execution of the software application in response to the software application attempting to access an application programming interface outside the application container.
A computer-implemented method for executing a software application in a virtual machine executing on a data processing device, the method comprising:
- receiving software code for a software application;
- determining at least one application programming interface referenced by the software code;
- determining portions of an operating system accessed by the software code;
- creating an application container in the virtual machine;
- including the at least one application programming interface referenced by the software code inside the application container;
- including the portions of the operating system accessed by the software code inside the application container;
- executing the software application inside the application container on the virtual machine;
- and
- halting the virtual machine in response to the software application accessing an unauthorized application programming interface outside the application container.
Dependencies are inferred from the claim text.