IP Library › Granted Patent US 10,310,878
Granted Patent B2
US 10,310,878 · App. 13/717,130 · Granted Jun 4, 2019

Execution of an application in a runtime environment installed in a virtual appliance

Inventors: Benjamin J. Corrie (San Francisco, CA); Richard McDougall (Menlo Park, CA); Michal Ostrowski (Cedar Park, TX)
Assignee: VMware, Inc.
G06F9/45533G06F9/45558G06F8/60G06F2009/45583
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,310,878
App. No.
13/717,130
Granted
Jun 4, 2019
Kind
B2
Abstract

Methods, systems, and computer programs for providing an application server appliance utilizing one or more virtual machines are described. The application server appliance may be a virtual machine having a reduced guest operating system, a runtime environment, and a management agent installed therein. An appliance controller automatically determines one or more configurations and/or settings for the runtime environment based on a variety of factors, including the set up of the virtual machine appliance. The appliance controller generates an application package having the determined settings and transmits the package to the application server appliance, wherein the application package is configured to be executed by the runtime environment.

Claims (48)

1. A method for executing an application in a runtime environment, the method comprising:

receiving, at a processor, a request to provision a virtual appliance having installed therein a guest operating system and the runtime environment, which provides an application execution framework isolated from the guest operating system;

generating, by operation of the processor, an application package comprising an application configured to be executed within the runtime environment and one or more settings of the runtime environment that control operation of the runtime environment, the one or more settings including a garbage collection policy for the runtime environment based on an amount of guest physical memory allocated to a heap for the runtime environment; and

transmitting, from the processor to the virtual appliance, the application package that is to be executed by the virtual appliance in the runtime environment and using the settings for the runtime environment.

2. The method of claim 1 , further comprising:

determining the one or more settings of the runtime environment that control operation of the runtime environment based on computing resources allocated to the virtual appliance.

3. The method of claim 2 , wherein the determining the one or more settings of the runtime environment that control operation of the runtime environment further comprises:

determining a heap size for the runtime environment based on an amount of guest physical memory allocated to the virtual appliance.

4. The method of claim 1 , further comprising:

receiving, from the virtual appliance, a status message comprised of log data generated during execution of the application within the runtime environment.

5. The method of claim 1 ,

wherein the guest operating system includes a plurality of system services, and

wherein all of the system services are disabled except for a subset of the plurality of system services sufficient to support execution of the runtime environment.

6. The method of claim 1 ,

wherein the guest operating system includes a temporary file system layer configured to receive write operations from the runtime environment, and

wherein contents of the temporary file system layer are discarded upon termination of the runtime environment.

7. A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, execute an application in a runtime environment by performing the steps of:

receiving, at a processor, a request to provision a virtual appliance having installed therein a guest operating system and the runtime environment, which provides an application execution framework isolated from the guest operating system;

generating, by operation of the processor, an application package comprising an application configured to be executed in the runtime environment and using one or more settings of the runtime environment that control operation of the runtime environment, the one or more settings including a garbage collection policy for the runtime environment based on an amount of guest physical memory allocated to a heap for the runtime environment; and

transmitting, from the processor to the virtual appliance, the application package that is to be executed by the virtual appliance using the runtime environment and the settings for the runtime environment.

8. The non-transitory computer-readable storage medium of claim 7 , further comprising instructions for:

determining the one or more settings of the runtime environment that control operation of the runtime environment based on computing resources allocated to the virtual appliance.

9. The non-transitory computer-readable storage medium of claim 8 , wherein the instructions for determining the one or more settings of the runtime environment that control operation of the runtime environment further comprises instructions for:

determining a heap size for the runtime environment based on an amount of guest physical memory allocated to the virtual appliance.

10. The non-transitory computer-readable storage medium of claim 7 , further comprising instructions for:

receiving, from the virtual appliance, a status message comprised of log data generated during execution of the application within the runtime environment.

11. The non-transitory computer-readable storage medium of claim 7 ,

wherein the guest operating system includes a plurality of system services, and

wherein all of the system services are disabled except for a subset of the plurality of system services sufficient to support execution of the runtime environment.

12. The non-transitory computer-readable storage medium of claim 7 ,

wherein the guest operating system includes a temporary file system layer configured to receive write operations from the runtime environment, and

wherein contents of the temporary file system layer are discarded upon termination of the runtime environment.

13. A computer system for executing an application in a runtime environment, the computer system comprising a system memory and a processor programmed to carry out the steps of:

receiving, at the processor, a request to provision a virtual appliance having installed therein a guest operating system and a runtime environment, which provides an application execution framework isolated from the guest operating system;

generating, by operation of the processor, an application package comprising an application configured to be executed within the runtime environment and one or more settings of the runtime environment that control operation of the runtime environment, the one or more settings including a garbage collection policy for the runtime environment based on an amount of quest physical memory allocated to a heap for the runtime environment; and

transmitting, from the processor to the virtual appliance, the application package that is to be executed by the virtual appliance in the runtime environment and using the settings for the runtime environment.

14. The computer system of claim 13 , wherein the processor is further programmed to carry out the steps of:

determining the one or more settings of the runtime environment that control operation of the runtime environment based on computing resources allocated to the virtual appliance.

15. The computer system of claim 14 , wherein the processor is further programmed to carry out the steps of:

determining a heap size for the runtime environment based on an amount of guest physical memory allocated to the virtual appliance.

16. The computer system of claim 13 , wherein the processor is further programmed to carry out the steps of:

receiving, from the virtual appliance, a status message comprised of log data generated during execution of the application within the runtime environment.

17. The computer system of claim 13 ,

wherein the guest operating system includes a plurality of system services, and

wherein all of the system services are disabled except for a subset of the plurality of system services sufficient to support execution of the runtime environment.

18. The computer system of claim 13 ,

wherein the guest operating system includes a temporary file system layer configured to receive write operations from the runtime environment, and

wherein contents of the temporary file system layer are discarded upon termination of the runtime environment.

Assignments (2)
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 8, 2013
From: CORRIE, BENJAMIN J.; MCDOUGALL, RICHARD; OSTROWSKI, MICHAL
To: VMWARE, INC.
Reel/Frame 029954/0987 →
Continuity (2)
Provisional Application 61576692 · Dec 16, 2011
Related Publication 20130167147A1 · Jun 27, 2013