IP Library Granted Patent US 10,509,688
Granted Patent B1
US 10,509,688 · App. 15/636,701 · Granted Dec 17, 2019

System and method for migrating virtual machines between servers

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,509,688
App. No.
15/636,701
Granted
Dec 17, 2019
Kind
B1
Abstract

A system and method is provided for migrating a virtual machine between servers to access physical resources. An exemplary method includes intercepting a request from a client device to access a physical resource; identifying a virtual machine on a first server that is currently hosting a remote application for the client device; identifying a second server associated with the physical resource; and migrating the virtual machine from the first server to the second server, such that the client device can access the physical resource using the second server.

Claims (67)

1. A method for migrating a virtual machine (VM) from a first server to a second server to access physical resources, the method comprising:

intercepting, by a VM manager, a request from a client device to access a physical resource associated with the second server, wherein the interception comprises:

registering the VM manager using a globally unique identifier;

accessing, by the VM manager, functions of an original library of the physical resource; and

sending, by the VM manager, function calls from the client device directly to the original library of the physical resource;

identifying, by the VM manager, a virtual machine on the first server that is currently hosting a remote application for the client device;

identifying, by the VM manager, the second server associated with the physical resource; and

migrating, by the VM manager, the virtual machine from the first server to the second server, such that the client device accesses the physical resource using the second server.

2. The method according to claim 1 , further comprising:

upon intercepting the request from the client device to access the physical resource, determining whether the physical resource is available for access; and

pausing operation of the virtual machine when the physical resource is not available for access.

3. The method according to claim 2 , further comprising:

continuously checking whether the physical resource is available for access and migrating the virtual machine to the second server upon determining the physical resource is available for access.

4. The method according to claim 1 , further comprising:

maintaining a same user session of the virtual machine launched by the client device when the virtual machine is migrated from the first server to the second server.

5. The method according to claim 1 , further comprising:

migrating, by the processor, the virtual machine from the second server to another server after the client device accesses the physical resource using the second server.

6. The method according to claim 1 , wherein the first and second servers are included in a server farm comprising a plurality of servers.

7. The method according to claim 6 , wherein the second server is physically connected to the requested physical resource.

8. A method for migrating a virtual machine (VM) from a first server to a second server to access physical resources, the method comprising:

intercepting, by a VM manager, a request from a client device to access a physical resource, wherein the intercepting of the request to access the physical resource comprises:

monitoring, by the VM manager, a physical connection between the second server and the requested physical resource;

tuning, by the VM manager, at least one interface of the requested physical resource to at least one pipe; and

wrapping, by the VM manager, the at least one pipe to software associated with the second server to provide access to at least one hardware port of the requested physical resource by the virtual machine;

identifying, by the VM manager, a virtual machine on the first server that is currently hosting a remote application for the client device;

identifying, by the VM manager, the second server associated with the physical resource; and

migrating, by the VM manager, the virtual machine from the first server to the second server, such that the client device accesses the physical resource using the second server.

9. A system for migrating a virtual machine (VM) from a first server to a second server to access physical resources, the system comprising:

a memory configured to store association information between at least one physical resource and an associated server; and

a VM manager configured to:

intercept a request from a client device to access the at least one physical resource associated with the second server, wherein the configuration to intercept comprises a configuration to:

register the VM manager using a globally unique identifier;

access functions of an original library of the physical resource; and

send function calls from the client device directly to the original library of the physical resource;

identify a virtual machine launched on the first server that is currently hosting a remote application for the client device;

identify the second server associated with the physical resource based on the association information stored in the memory; and

migrate the virtual machine from the first server to the second server, such that the client device accesses the physical resource using the second server.

10. The system according to claim 9 , wherein the processor is further configured to:

upon intercepting the request from the client device to access the physical resource, determine whether the physical resource is available for access; and

pause operation of the virtual machine when the physical resource is not available for access.

11. The system according to claim 10 , wherein the processor is further configured to continuously check whether the physical resource is available for access and migrate the virtual machine to the second server upon determining the physical resource is available for access.

12. The system according to claim 9 , wherein the processor is further configured to maintain a same user session of the virtual machine launched by the client device when the virtual machine is migrated from the first server to the second server.

13. The system according to claim 9 , wherein the processor is further configured to migrate the virtual machine from the second server to another server after the client device accesses the physical resource using the second server.

14. The system according to claim 9 , wherein the first and second servers are included in a server farm comprising a plurality of servers.

15. The system according to claim 14 , wherein the second server is physically connected to the requested physical resource.

16. A system for migrating a virtual machine (VM) from a first server to a second server to access physical resources, the system comprising:

a memory configured to store association information between at least one physical resource and an associated server; and

a VM manager configured to:

intercept a request from a client device to access the at least one physical resource associated with the second server, wherein the configuration to intercept comprises a configuration to:

monitor a physical connection between the second server and the requested physical resource;

tune at least one interface of the requested physical resource to at least one pipe; and

wrap the at least one pipe to software associated with the second server to provide access to at least one hardware port of the requested physical resource by the virtual machine;

identify a virtual machine on the first server that is currently hosting a remote application for the client device;

identify the second server associated with the physical resource; and

migrate the virtual machine from the first server to the second server, such that the client device accesses the physical resource using the second server.

17. A non-transitory computer readable medium storing computer executable instructions for migrating a virtual machine (VM) from a first server to a second server to access physical resources, including instructions for:

intercepting, by a VM manager, a request from a client device to access a physical resource associated with the second server, wherein the interception comprises:

registering the VM manager using a globally unique identifier;

accessing, by the VM manager, functions of an original library of the physical resource; and

sending, by the VM manager, function calls from the client device directly to the original library of the physical resource;

identifying, by the VM manager, a virtual machine on the first server that is currently hosting a remote application for the client device;

identifying, by the VM manager, the second server associated with the physical resource; and

migrating, by the VM manager, the virtual machine from the first server to the second server, such that the client device accesses the physical resource using the second server.

18. A non-transitory computer readable medium according to claim 17 , further including instructions for:

upon intercepting the request from the client device to access the physical resource, determining whether the physical resource is available for access;

pausing operation of the virtual machine when the physical resource is not available for access; and

continuously checking whether the physical resource is available for access and migrating the virtual machine to the second server upon determining the physical resource is available for access.