Method and apparatus for implementing concurrently running jobs on an extended virtual machine using different heaps managers
First Claim
1. A computing system, the computing system including:
- a processor;
a memory;
a virtual machine which is in communication with the processor, the virtual machine being arranged to enable two or more jobs, which are associated with two or more different applications, to run concurrently on the virtual machine, wherein the virtual machine is further arranged to create a heap in the memory for each one of the two or more jobs that concurrently run on the virtual machine;
wherein the virtual machine includes a jobs manager, a class manager, and a heap manager;
wherein the jobs manager generates first and second jobs data, first and second garbage collection instance data, and virtual machine instance data respectively associated with said two or more jobs that concurrently run on the virtual machine, and the jobs manager further associates one or more methods to each of the jobs data, garbage collection instance data, and virtual machine instance data; and
wherein the class manager is arranged to create proxy data which enables a class associated with the virtual machine to be shared by the two or more jobs that are arranged to concurrently run on the virtual machine.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus for implementing a virtual machine that supports the execution of more than one application per virtual machine process are described. According to one aspect of the present invention, a computing system includes a processor, a memory, and a virtual machine that is in communication with the processor. The virtual machine is arranged to enable one or more jobs to run on the virtual machine, and is further arranged to create a heap in the memory for each job that runs on the virtual machine. In one embodiment, the virtual machine includes a jobs manager, a class manager, and a heap manager. In such an embodiment, the heap manager manages substantially all heaps in the memory that are created by the virtual machine.
-
Citations
22 Claims
-
1. A computing system, the computing system including:
-
a processor; a memory; a virtual machine which is in communication with the processor, the virtual machine being arranged to enable two or more jobs, which are associated with two or more different applications, to run concurrently on the virtual machine, wherein the virtual machine is further arranged to create a heap in the memory for each one of the two or more jobs that concurrently run on the virtual machine; wherein the virtual machine includes a jobs manager, a class manager, and a heap manager; wherein the jobs manager generates first and second jobs data, first and second garbage collection instance data, and virtual machine instance data respectively associated with said two or more jobs that concurrently run on the virtual machine, and the jobs manager further associates one or more methods to each of the jobs data, garbage collection instance data, and virtual machine instance data; and wherein the class manager is arranged to create proxy data which enables a class associated with the virtual machine to be shared by the two or more jobs that are arranged to concurrently run on the virtual machine. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A virtual machine arranged to operate in cooperation with a computing system, the virtual machine including:
-
a first mechanism for creating a first job and a second job which are respectively associated with a first application and a second application, the first job and the second job being arranged to concurrently run on the virtual machine; a second mechanism, the second mechanism being arranged to provide the at least one job with at least one class that is arranged to be shared between the first job and the second job; a third mechanism, the third mechanism being arranged to exchange information between the first job and the second job; wherein the virtual machine includes a jobs manager, a class manager, and a heap manager; wherein the jobs manager generates first and second jobs data, first and second garbage collection instance data, and virtual machine instance data respectively associated with said first and second jobs that concurrently run on the virtual machine, and the jobs manager further associates one or more methods to each of the jobs data, garbage collection instance data, and virtual machine instance data; and wherein the class manager is arranged to create proxy data which enables a class associated with the virtual machine to be shared by the first and second jobs that are arranged to concurrently run on the virtual machine. - View Dependent Claims (11, 12, 13, 14)
-
-
15. A computer-implemented method for executing a first application substantially concurrently with a second application on a virtual machine, the computer-implemented method comprising:
-
creating a first job on a virtual machine, the first job being associated with the first application; creating a second job on the virtual machine, the second job being associated with the second application; creating a first heap, the first heap being associated with the first job; and creating a second heap, the second heap being associated with the second job creating a jobs manager for concurrently supporting the first and second jobs on the virtual machine, wherein the jobs manager generates first and second jobs data, first and second garbage collection instance data, and virtual machine instance data respectively associated with said two or more jobs that concurrently run on the virtual machine, and the jobs manager further operating to associate one or more methods to each of the jobs data, garbage collection instance data, and virtual machine instance data; and creating a class manager which is arranged to create proxy data which enables a class associated with the virtual machine to be shared by the two or more jobs that are arranged to concurrently run on the virtual machine. - View Dependent Claims (16, 17, 18)
-
-
19. A computer readable medium including computer program code for executing a first application substantially concurrently with a second application on a virtual machine, the computer readable medium, comprising:
-
computer program code for creating a first job on a virtual machine, the first job being associated with the first application; computer program code for creating a second job on the virtual machine, the second job being associated with the second application; computer program code for creating a first heap, the first heap being associated with the first job; and computer program code for creating a second heap, the second heap being associated with the second job computer program code for creating a jobs manager for concurrently supporting the first and second jobs on the virtual machine, wherein the jobs manager generates first and second jobs data, first and second garbage collection instance data, and virtual machine instance data respectively associated with said two or more jobs that concurrently run on the virtual machine, and the jobs manager further operating to associate one or more methods to each of the jobs data, garbage collection instance data, and virtual machine instance data; and computer program code for creating a class manager which is arranged to create proxy data which enables a class associated with the virtual machine to be shared by the two or more jobs that are arranged to concurrently run on the virtual machine. - View Dependent Claims (20, 21, 22)
-
Specification