Process attachable virtual machines
First Claim
Patent Images
1. A method comprising:
- generating a virtual machine capable of being attached to a user session, initializing the virtual machine for the user session;
storing a state of the virtual machine at a shared memory associated with the virtual machine;
receiving a request corresponding to the user session;
maintaining a request queue having the request, and bringing the request to a front of the request queue;
prioritizing a plurality of operating system processes as low priority operating system processes and high priority operating system processes;
selecting a high priority operating system process from the plurality of operating system processes;
binding the virtual machine to the selected 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 a corresponding address space of the selected high priority operating system process;
detaching the virtual machine from the selected high priority operating system process upon completion of the processing of the request, the virtual machine including a process attachable virtual machine; and
selecting a low priority operating system process from the plurality of operating system processes to facilitate an asynchronous function relating to the virtual machine, the asynchronous function including garbage collection.
2 Assignments
0 Petitions
Accused Products
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.
72 Citations
16 Claims
-
1. A method comprising:
-
generating a virtual machine capable of being attached to a user session, initializing the virtual machine for the user session; storing a state of the virtual machine at a shared memory associated with the virtual machine; receiving a request corresponding to the user session; maintaining a request queue having the request, and bringing the request to a front of the request queue; prioritizing a plurality of operating system processes as low priority operating system processes and high priority operating system processes; selecting a high priority operating system process from the plurality of operating system processes; binding the virtual machine to the selected 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 a corresponding address space of the selected high priority operating system process; detaching the virtual machine from the selected high priority operating system process upon completion of the processing of the request, the virtual machine including a process attachable virtual machine; and selecting a low priority operating system process from the plurality of operating system processes to facilitate an asynchronous function relating to the virtual machine, the asynchronous function including garbage collection. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. An article of manufacture comprising a machine-readable medium storing instructions which, when executed, cause a machine to:
-
generate a virtual machine capable of being attached to a user session, initialize the virtual machine for a user session; store a state of the virtual machine at a shared memory associated with the virtual machine; receive a request corresponding to the user session; maintain a request queue having the request, and bring the request to a front of the request queue; prioritize a plurality of operating system processes as low priority operating system processes and high priority operating system processes; select a high priority operating system process from the plurality of operating system processes; bind the virtual machine to the selected high priority operating system process to process the request, wherein the binding of the virtual machine includes mapping a portion of the session memory to a corresponding address space of the selected high priority operating system process; detach the virtual machine from the selected high priority operating system process upon completion of the processing of the request, the virtual machine including a process attachable virtual machine; and select a low priority operating system process from the plurality of operating system processes to facilitate an asynchronous function relating to the virtual machine, the asynchronous function including garbage collection. - View Dependent Claims (12)
-
-
13. A system comprising:
-
a client to execute an application constituting a user session; and a server coupled to the client, the server to; generate a virtual machine capable of being attached to a user session, and initialize the virtual machine for the user session; store a state of the virtual machine at a shared memory associated with the virtual machine; receive a request corresponding to the user session; maintain a request queue having the request, and bring the request to a front of the request queue; prioritize a plurality of operating system processes as low priority operating system processes and high priority operating system processes; select a high priority operating system process from the plurality of operating system processes; bind the virtual machine to the selected high priority operating system process to process the request, wherein the binding of the virtual machine includes mapping a portion of the session memory to a corresponding address space of the selected high priority operating system process; detach the virtual machine from the selected high priority operating system process upon completion of the processing of the request, the virtual machine including a process attachable virtual machine; and select a low priority operating system process the plurality of operating system processes to facilitate an asynchronous function relating to the virtual machine, the asynchronous function including garbage collection. - View Dependent Claims (14, 15, 16)
-
Specification