9270781

Associating Virtual Machines on a Server Computer with Particular Users on an Exclusive Basis

PublishedFebruary 23, 2016
Assigneenot available in USPTO data we have
Technical Abstract

Patent Claims
17 claims

Legal claims defining the scope of protection, as filed with the USPTO.

1

1. A non-transitory computer-accessible storage medium storing program instructions executable to implement: associating a first virtual machine with a first user on an exclusive basis, wherein the first virtual machine is one of a plurality of virtual machines in a server computer system, wherein said associating comprises storing information indicating that users other than the first user cannot use the first virtual machine, wherein the plurality of virtual machines comprises a pool of active but unconnected virtual machines, wherein the size of the pool is at least one, and wherein the maximum pool size is N; receiving a first request from a client device of the first user to connect to the server computer system, wherein the first request identifies the first user; in response to the first request: accessing the stored information and determining that the first virtual machine is associated with the first user on the exclusive basis; and in response to determining that the first virtual machine is associated with the first user on the exclusive basis: selecting the first virtual machine from the plurality of virtual machines for assignment to the first user; and establishing a communication session between the client device and the first virtual machine in order to enable the first user to use the first virtual machine; terminating the communication session between the client device and the first virtual machine, including disconnecting the client device from the server computer system; maintaining the first virtual machine in an active but unconnected state, thereby keeping the virtual machine ready for reconnecting to the client device of the first user in response to a subsequent request from the client device, wherein during said maintaining, no other users are allowed to utilize the first virtual machine, wherein said maintaining increments the pool size; and hibernating one or more active but disconnected virtual machines in response to determining that the pool size is greater than N.

2

2. The non-transitory computer-accessible storage medium of claim 1 , wherein the program instructions are further executable to implement: receiving a second request from another client device of a second user to connect to the server computer system; determining that the first virtual machine is associated with the first user on the exclusive basis; and selecting from the plurality of virtual machines a second virtual machine other than the first virtual machine for assignment to the second user.

3

3. The non-transitory computer-accessible storage medium of claim 1 , wherein the program instructions are further executable to implement: in response to the first request, determining that the first virtual machine is in a state of hibernation; wherein assigning the first virtual machine to the first user comprises returning the first virtual machine to an active state of execution.

4

4. The non-transitory computer-accessible storage medium of claim 1 , wherein the program instructions are further executable to implement: receiving a second request from the client device of the first user to connect to the server computer system; determining that the first virtual machine is not in an active state of execution; receiving user input from the first user indicating that it is permissible to assign a virtual machine other than the first virtual machine to the first user; and assigning a virtual machine other than the first virtual machine to the first user in response to the second request.

5

5. The non-transitory computer-accessible storage medium of claim 4 , wherein determining that the first virtual machine is not in an active state of execution comprises determining that the first virtual machine is hibernated.

6

6. The non-transitory computer-accessible storage medium of claim 1 , wherein the program instructions are further executable to implement: receiving a second request from the client device of the first user to disconnect from the server computer system; disconnecting the first user from the server computer in response to the second request; and maintaining the first virtual machine in an active state of execution for future use by the first user after said disconnecting.

7

7. The non-transitory computer-accessible storage medium of claim 1 , wherein establishing the communication session enables the first user to provide input to and receive output from the first virtual machine through a network.

8

8. The non-transitory computer-accessible storage medium of claim 1 , wherein establishing the communication session enables the first user to execute software programs on the first virtual machine.

9

9. The non-transitory computer-accessible storage medium of claim 1 , wherein the program instructions are further executable to implement: receiving user input specifying the first virtual machine and the first user; wherein the first virtual machine is associated with the first user in response to the user input.

10

10. A system comprising: one or more processors; and memory storing program instructions; wherein the program instructions are executable by the one or more processors to implement: associating a first virtual machine with a first user on an exclusive basis, wherein the first virtual machine is one of a plurality of virtual machines in a server computer system, wherein said associating comprises storing information indicating that users other than the first user cannot use the first virtual machine, wherein the plurality of virtual machines comprises a pool of active but unconnected virtual machines, wherein the size of the pool is at least one, and wherein the maximum pool size is N; receiving a first request from a client device of the first user to connect to the server computer system; in response to the first request: accessing the stored information and determining that the first virtual machine is associated with the first user on the exclusive basis; and in response to determining that the first virtual machine is associated with the first user on the exclusive basis: selecting the first virtual machine from the plurality of virtual machines for assignment to the first user; and establishing a communication session between the client device and the first virtual machine in order to enable the first user to use the first virtual machine; terminating the communication session between the client device and the first virtual machine, including disconnecting the client device from the server computer system; and maintaining the first virtual machine in an active but unconnected state, thereby keeping the virtual machine ready for reconnecting to the client device of the first user in response to a subsequent request from the client device, wherein during said maintaining, no other users are allowed to utilize the first virtual machine, wherein said maintaining increments the pool size; and hibernating one or more active but disconnected virtual machines in response to determining that the pool size is greater than N.

11

11. The system of claim 10 , wherein the program instructions are further executable to implement: receiving a second request from another client device of a second user to connect to the server computer system; determining that the first virtual machine is associated with the first user on the exclusive basis; and selecting from the plurality of virtual machines a second virtual machine other than the first virtual machine for assignment to the second user.

12

12. The system of claim 10 , wherein the program instructions are further executable to implement: in response to the first request, determining that the first virtual machine is in a state of hibernation; wherein assigning the first virtual machine to the first user comprises returning the first virtual machine to an active state of execution.

13

13. The system of claim 10 , wherein the program instructions are further executable to implement: receiving a second request from the client device of the first user to connect to the server computer system; determining that the first virtual machine is not in an active state of execution; receiving user input from the first user indicating that it is permissible to assign a virtual machine other than the first virtual machine to the first user; and assigning a virtual machine other than the first virtual machine to the first user in response to the second request.

14

14. The system of claim 10 , wherein the program instructions are further executable to implement: receiving user input specifying the first virtual machine and the first user; wherein the first virtual machine is associated with the first user in response to the user input.

15

15. A method comprising: associating a first virtual machine with a first user on an exclusive basis, wherein the first virtual machine is one of a plurality of virtual machines in a server computer system, wherein said associating comprises storing information indicating that users other than the first user cannot use the first virtual machine, wherein the plurality of virtual machines comprises a pool of active but unconnected virtual machines, wherein the size of the pool is at least one, and wherein the maximum pool size is N; receiving a first request from a client device of the first user to connect to the server computer system; in response to the first request: accessing the stored information and determining that the first virtual machine is associated with the first user on the exclusive basis; in response to determining that the first virtual machine is associated with the first user on the exclusive basis: selecting the first virtual machine from the plurality of virtual machines for assignment to the first user; and establishing a communication session between the client device and the first virtual machine in order to enable the first user to use the first virtual machine; terminating the communication session between the client device and the first virtual machine, including disconnecting the client device from the server computer system; and maintaining the first virtual machine in an active but unconnected state, thereby keeping the virtual machine ready for reconnecting to the client device of the first user in response to a subsequent request from the client device, wherein during said maintaining, no other users are allowed to utilize the first virtual machine, wherein said maintaining increments the pool size; and hibernating one or more active but disconnected virtual machines in response to determining that the pool size is greater than N.

16

16. The method of claim 15 , wherein the method further comprises: receiving a second request from the client device of the first user to connect to the server computer system; determining that the first virtual machine is not in an active state of execution; receiving user input from the first user indicating that it is permissible to assign a virtual machine other than the first virtual machine to the first user; and assigning a virtual machine other than the first virtual machine to the first user in response to the second request.

17

17. The method of claim 15 , further comprising: receiving user input specifying the first virtual machine and the first user; wherein the first virtual machine is associated with the first user in response to the user input.

Patent Metadata

Filing Date

Unknown

Publication Date

February 23, 2016

Inventors

Syed M. Amir Husain
Muhammad Umair
Saqib Mumtaz
Atif Bajwa
Abubakr Sheikh

Want to explore more patents?

Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.

Citation & reuse

Analysis on this page is generated by Patentable — an AI-powered patent intelligence platform. AI-generated summaries, explanations, and analysis may be reused with attribution and a visible link back to the canonical URL below. Patent abstracts and claims are USPTO public domain.

Cite as: Patentable. “Associating Virtual Machines on a Server Computer with Particular Users on an Exclusive Basis” (9270781). https://patentable.app/patents/9270781

© 2026 Patentable. All rights reserved.

Patentable is a research and drafting-assistant tool, not a law firm, and does not provide legal advice. Documents we generate are drafts for review by a licensed patent attorney.