IP Library Granted Patent US 8,505,014
Granted Patent B2
US 8,505,014 · App. 11/977,356 · Granted Aug 6, 2013

Process attachable virtual machines

Inventors: Norbert Kuck (Karisruhe, DE); Harald Kuck (Heidelberg, DE); Edgar Lott (Nussloch, DE); Hans-Christoph Rohland (St. Leon-Rot, DE); Oliver Schmidt (Wörth am Rhein, DE)
Assignee: SAP AG
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 8,505,014
App. No.
11/977,356
Granted
Aug 6, 2013
Kind
B2
Abstract

Methods and apparatus, including computer program products, for using process attachable virtual machines to provide isolation between user sessions in a scalable manner, enabling a server to robustly process requests corresponding to a large number of user sessions. The methods and apparatus include initializing a process attachable virtual machine for a user session, receiving a request corresponding to the user session, and binding the process attachable virtual machine to an operating system process to process the request.

Claims (44)

1. A method comprising:

generating a virtual machine capable of being attached to a user session, the virtual machine including a process attachable virtual machine, wherein a state of the virtual machine is stored at a shared memory associated with the virtual machine;

maintaining a request queue having a request associated with the user session, and bringing the request to a front of the request queue having one or more requests;

binding the virtual machine to a high priority operating system process to process the request, wherein the binding of the virtual machine includes mapping a portion of the shared memory to an address space of the high priority operating system process; and

detaching the virtual machine from the high priority operating system process upon processing of the request.

2. The method of claim 1 , further comprising:

initializing the virtual machine for the user session;

receiving the request corresponding to the user session;

prioritizing a plurality of operating system processes as low priority operating system processes or high priority operating system processes; and

selecting the high priority operating system process from the plurality of operating system processes.

3. The method of claim 2 , wherein initializing comprises storing the virtual machine at the shared memory, the virtual machine including one or more of a Java virtual machine and an Advanced Business Application Programming (ABAP) virtual machine.

4. The method of claim 2 , further comprising isolating the plurality of operating system processes from other processes.

5. The method of claim 1 , further comprising selecting a low priority operating system process to facilitate an asynchronous function relating to the virtual machine, the asynchronous function including garbage collection.

6. The method of claim 1 , wherein the mapped portion of the shared memory comprises a computational state of the virtual machine.

7. A system comprising:

an application server having a processor, a shared memory, a plurality of operating system processes, wherein the processor to execute instructions to:

generate a virtual machine capable of being attached to a user session, the virtual machine including a process attachable virtual machine, wherein a state of the virtual machine is stored at the shared memory associated with the virtual machine;

maintain a request queue having a request associated with the user session, and bringing the request to a front of the request queue having one or more requests;

bind the virtual machine to a high priority operating system process of the plurality of operating system processes to process the request, wherein the binding of the virtual machine includes mapping a portion of the shared memory to an address space of the high priority operating system process; and

detach the virtual machine from the high priority operating system process upon processing of the request.

8. The system of claim 7 , wherein the processor is further to:

initialize the virtual machine for the user session;

receive the request corresponding to the user session;

prioritize a plurality of operating system processes as low priority operating system processes or high priority operating system processes; and

select the high priority operating system process from the plurality of operating system processes.

9. The system of claim 8 , wherein initializing comprises storing the virtual machine at the shared memory, the virtual machine including one or more of a Java virtual machine and an Advanced Business Application Programming (ABAP) virtual machine.

10. The system of claim 8 , wherein the processor is further to isolate the plurality of operating system processes from other processes.

11. The system of claim 7 , wherein the processor is further to select a low priority operating system process to facilitate an asynchronous function relating to the virtual machine, the asynchronous function including garbage collection.

12. The system of claim 7 , wherein the mapped portion of the shared memory comprises a computational state of the virtual machine.

13. The system of claim 7 , wherein the application server comprises one or more of a Java 2 Enterprise Edition (J2EE) application server and an ABAP application server.

14. An article of manufacturing comprising a non-transitory computer-accessible medium having instructions which, when executed, cause a computer to:

generate a virtual machine capable of being attached to a user session, the virtual machine including a process attachable virtual machine, wherein a state of the virtual machine is stored at a shared memory associated with the virtual machine;

maintain a request queue having a request associated with the user session, and bringing the request to a front of the request queue having one or more requests;

bind the virtual machine to a high priority operating system process to process the request, wherein the binding of the virtual machine includes mapping a portion of the shared memory to an address space of the high priority operating system process; and

detach the virtual machine from the high priority operating system process upon processing of the request.

15. The article of manufacturing of claim 14 , wherein the instructions when executed, further cause the computer to:

initialize the virtual machine for the user session;

receive the request corresponding to the user session;

prioritize a plurality of operating system processes as low priority operating system processes or high priority operating system processes; and

select the high priority operating system process from the plurality of operating system processes.

16. The article of manufacturing of claim 15 , wherein the instructions when executed to initialize, further cause the computer to store the virtual machine at the shared memory, the virtual machine including one or more of a Java virtual machine and an Advanced Business Application Programming (ABAP) virtual machine.

17. The article of manufacturing of claim 15 , wherein the instructions when executed to initialize, further cause the computer to isolate the plurality of operating system processes from other processes.

18. The article of manufacturing of claim 14 , wherein the instructions when executed, further cause the computer to select a low priority operating system process to facilitate an asynchronous function relating to the virtual machine, the asynchronous function including garbage collection.

19. The article of manufacturing of claim 14 , wherein the mapped portion of the shared memory comprises a computational state of the virtual machine.

Assignments (1)
CHANGE OF NAME Recorded Aug 26, 2014
From: SAP AG
To: SAP SE
Reel/Frame 033625/0334 →
Continuity (4)
Continuation 10290087 · Nov 7, 2002
Provisional Application 60348068 · Nov 7, 2001
Provisional Application 60400491 · Aug 1, 2002
Related Publication 20080141246A1 · Jun 12, 2008