P
US9489274B2ActiveUtilityPatentIndex 59

System and method for performing efficient failover and virtual machine (VM) migration in virtual desktop infrastructure (VDI)

Assignee: AMERICAN MEGATRENDS INCPriority: Dec 17, 2014Filed: Dec 17, 2014Granted: Nov 8, 2016
Est. expiryDec 17, 2034(~8.5 yrs left)· nominal 20-yr term from priority
Inventors:KONDALSAMY VENKATESAPERUMALAYANAM VARADACHARI SUDANGNANASEKARAN JAYACHANDRANMATHEWS SANTHOSH SAMUEL
G06F 11/2043G06F 11/2025G06F 11/2056G06F 11/2041G06F 2201/815G06F 2201/805G06F 11/203G06F 11/3006G06F 11/00
59
PatentIndex Score
2
Cited by
4
References
23
Claims

Abstract

Certain aspects direct to system for performing efficient failover and virtual machine (VM) migration in virtual desktop infrastructure (VDI). The system includes a plurality of computing devices functioning as nodes, and a virtual desktop controller. The virtual desktop controller includes a processor, a memory, and a storage device storing computer executable code. The code, when executed at the processor, is configured to configure the computing devices as a failover cluster of the system; assign one computing device as an active node; assign each of the other computing devices as a passive node, and configure a clustered shared volume (CSV) of physical disks as backup nodes of the active node; and monitor the computing devices of the failover cluster. When the active node of the failover cluster fails, the executed code configures assigns one of the passive node of the failover cluster as a new active node.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system for performing efficient failover and virtual machine (VM) migration in virtual desktop infrastructure (VDI), comprising:
 a plurality of computing devices; and 
 a virtual desktop controller communicatively connected to the computing devices via a network, wherein the virtual desktop controller comprises a processor, a memory, and a storage device storing computer executable code, wherein the code, when executed at the processor, is configured to
 configure a failover cluster of the system, wherein the failover cluster comprises the computing devices, and for each of the computing devices, a random access memory (RAM) disk is launched on a volatile memory array using a RAM disk driver; 
 configure an active node of the failover cluster by assigning one of the computing devices of the failover duster as the active node; 
 configure at least one passive node of the failover cluster by assigning each of the other of the computing devices of the failover cluster as the passive node and a first backup node of the active node; 
 configure a clustered shared volume (CSV) of physical disks as a second backup node of the active node; 
 monitor the computing devices of the failover cluster; 
 control the active node to copy information stored in the active node to the passive node and the CSV, such that the information stored in the active node is identical to backup information stored in the passive node and the CSV by controlling the RAM disk driver at the active node to:
 in response to writing data to the RAM disk of the active node, write the data to the RAM disk of the passive node in a write-through mode; and 
 write the data to the CSV in a write-slow mode; and 
 
 when the active node of the failover cluster fails, configure a new active node for the failover cluster by assigning one of the passive node of the failover cluster as the new active node with no or minimal down time of the system. 
 
 
     
     
       2. The system as claimed in  claim 1 , wherein each of the computing devices assigned as the passive node comprises identical hardware and software components to the computing device being assigned as the active node. 
     
     
       3. The system as claimed in  claim 1 , wherein each of the computing devices of the failover cluster is a virtual machine server storing the hypervisor and the plurality of VMs, wherein the virtual desktop controller is connected to the virtual machine server through an interface. 
     
     
       4. The system as claimed in  claim 3 , wherein the code, when executed at the processor, is further configured to:
 control the virtual machine server being assigned as the active node to execute the hypervisor and to execute the VMs on the executed hypervisor. 
 
     
     
       5. The system as claimed in  claim 4 , wherein the code, when executed at the processor, is further configured to:
 when the failed active node of the failover cluster recovers, configure the recovered active node as a new passive node for the failover cluster with no or minimal down time of the system. 
 
     
     
       6. The system as claimed in  claim 5 , wherein the code comprises a snap VDI manager (SVM), the SVM comprising:
 a data store storing information of the system, wherein the information of the system comprises cluster configuration information for the failover cluster; 
 a VM control module configured to control the virtual machine server being assigned as the active node to execute the hypervisor and to execute the VMs on the executed hypervisor; 
 a backup module configured to control the active node to copy the information stored in the active node to the passive node and the CSV; 
 a SVM monitor engine configured to monitor the computing devices of the failover cluster and generate corresponding monitoring information, and to determine whether each of the computing devices fails or recovers based on the monitoring information; and 
 a configuration module configured to:
 configure the failover cluster of the system based on the cluster configuration information, 
 configure the active node, 
 configure the passive node, 
 configure the CSV, 
 when the SVM monitor engine determines based on the monitoring information that the active node of the failover cluster fails, configure the new active node for the failover cluster by assigning one of the passive nodes of the failover cluster as the new active node with no or minimal down time of the system, and 
 when the SVM monitor engine determines based on the monitoring information that the failed active node of the failover cluster recovers, configure the recovered active node as the new passive node for the failover cluster with no or minimal down time of the system. 
 
 
     
     
       7. The system as claimed in  claim 6 , wherein the SVM further comprises:
 a user interface module for displaying the monitoring information on a display device. 
 
     
     
       8. The system as claimed in  claim 6 , wherein the configuration module is configured to configure the failover cluster of the system based on the cluster configuration information by:
 adding each of the computing devices into the failover cluster based on the cluster configuration information; 
 configuring each of the computing devices; and 
 for each of the computing devices,
 launching the RAM disk on the volatile memory array using the RAM disk driver; 
 deploying the VMs to the RAM disk; and 
 executing the VMs from the RAM disk. 
 
 
     
     
       9. The system as claimed in  claim 8 , wherein the SVM monitor engine is configured to monitor the computing devices of the failover cluster by:
 monitoring hardware components of each of the computing devices; and 
 monitoring the RAM disk of each of the computing devices. 
 
     
     
       10. A method for performing efficient failover and virtual machine (VM) migration in virtual desktop infrastructure (VDI), comprising:
 configuring, by a snap VDI manager (SVM) executed at a processor of a virtual desktop controller, a failover cluster of a VDI system, wherein the failover cluster comprises a plurality of computing devices of the VDI system, wherein the virtual desktop controller is communicatively connected to the computing devices via a network, and for each of the computing devices, a random access memory (RAM) disk is launched on a volatile memory array using a RAM disk driver; 
 configuring, by the executed SVM, an active node of the failover cluster by assigning one of the computing devices of the failover cluster as the active node; 
 configuring, by the executed SVM, at least one passive node of the failover cluster by assigning each of the other of the computing devices of the failover cluster as the passive node and a first backup node of the active node; 
 configuring, by the executed SVM, a clustered shared volume (CSV) of physical disks as a second backup node of the active node; 
 monitoring, by the executed SVM, the computing devices of the failover cluster; 
 controlling, by the executed SVM, the active node to copy information stored in the active node to the passive node and the CSV, such that the information stored in the active node is identical to backup information stored in the passive node and the CSV by controlling the RAM disk driver at the active node to:
 in response to writing data to the RAM disk of the active node, write the data to the RAM disk of the passive node in a write-through mode; and 
 write the data to the CSV in a write-slow mode; and 
 
 when the active node of the failover cluster fails, configuring, by the executed SVM, a new active node for the failover cluster by assigning one of the passive nodes of the failover cluster as the new active node with no or minimal down time of the VDI system. 
 
     
     
       11. The method as claimed in  claim 10 , wherein each of the computing devices assigned as the passive node comprises identical hardware and software components to the computing device being assigned as the active node. 
     
     
       12. The method as claimed in  claim 10 , wherein each of the computing devices of the failover cluster is a virtual machine server storing the hypervisor and the plurality of VMs, wherein the virtual desktop controller is connected to the virtual machine server through an interface. 
     
     
       13. The method as claimed in  claim 12 , further comprising:
 controlling, by the executed SVM, the virtual machine server being assigned as the active node to execute the hypervisor and to execute the VMs on the executed hypervisor; and 
 when the failed active node of the failover cluster recovers, configuring, by the executed SVM, the recovered active node as a new passive node for the failover cluster with no or minimal down time of the VDI system. 
 
     
     
       14. The method as claimed in  claim 13 , wherein the SVM comprises:
 a data store storing information of the VDI system, wherein the information of the VDI system comprises cluster configuration information for the failover cluster; 
 a VM control module configured to control the virtual machine server being assigned as the active node to execute the hypervisor and to execute the VMs on the executed hypervisor; 
 a backup module configured to control the active node to copy the information stored in the active node to the passive node and the CSV; 
 a SVM monitor engine configured to monitor the computing devices of the failover cluster and generate corresponding monitoring information, and to determine whether each of the computing devices fails or recovers based on the monitoring information; 
 a user interface module for displaying the monitoring information on a display device; and 
 a configuration module configured to:
 configure the failover cluster of the VDI system based on the cluster configuration information, 
 configure the active node, 
 configure the passive node, 
 configure the CSV, 
 when the SVM monitor engine determines based on the monitoring information that the active node of the failover cluster fails, configure the new active node for the failover cluster by assigning one of the passive nodes of the failover cluster as the new active node with no or minimal down time of the VDI system, and 
 when the SVM monitor engine determines based on the monitoring information that the failed active node of the failover cluster recovers, configure the recovered active node as a new passive node for the failover cluster with no or minimal down time of the VDI system. 
 
 
     
     
       15. The method as claimed in  claim 14 , wherein the configuration module is configured to configure the failover cluster of the VDI system based on the cluster configuration information by:
 adding each of the computing devices into the failover cluster based on the cluster configuration information; 
 configuring each of the computing devices; and 
 for each of the computing devices,
 launching the RAM disk on the volatile memory array using the RAM disk driver; 
 deploying the VMs to the RAM disk; and 
 executing the VMs from the RAM disk. 
 
 
     
     
       16. The method as claimed in  claim 15 , wherein the SVM monitor engine is configured to monitor the computing devices of the failover cluster by:
 monitoring hardware components of each of the computing devices; and 
 monitoring the RAM disk of each of the computing devices. 
 
     
     
       17. A non-transitory computer readable medium storing computer executable code, wherein the code, when executed at a processor of a virtual desktop controller, is configured to:
 configure a failover cluster of a virtual desktop infrastructure (VDI) system, wherein the failover cluster comprises a plurality of computing devices of the VDI system, wherein the virtual desktop controller is communicatively connected to the computing devices via a network, and for each of the computing devices, a random access memory (RAM) disk is launched on a volatile memory array using a RAM disk driver; 
 configure an active node of the failover cluster by assigning one of the computing devices of the failover cluster as the active node; 
 configure at least one passive node of the failover cluster by assigning each of the other computing devices of the failover cluster as the passive node and a first backup node of the active node; 
 configure a clustered shared volume (CSV) of physical disks as a second backup node of the active node; 
 monitor the computing devices of the failover cluster; 
 control the active node to copy information stored in the active node to the passive node and the CSV, such that the information stored in the active node is identical to backup information stored in the passive node and the CSV by controlling the RAM disk driver at the active node to:
 in response to writing data to the RAM disk of the active node, write the data to the RAM disk of the passive node in a write-through mode; and 
 write the data to the CSV in a write-slow mode; and 
 
 when the active node of the failover cluster fails, configure a new active node for the failover cluster by assigning one of the passive nodes of the failover cluster as the new active node with no or minimal down time of the VDI system. 
 
     
     
       18. The non-transitory computer readable medium as claimed in  claim 17 , wherein each of the computing devices assigned as the passive node comprises identical hardware and software components to the computing device being assigned as the active node. 
     
     
       19. The non-transitory computer readable medium as claimed in  claim 17 , wherein each of the computing devices of the failover cluster is a virtual machine server storing the hypervisor and the plurality of VMs, wherein the virtual desktop controller is connected to the virtual machine server through an interface. 
     
     
       20. The non-transitory computer readable medium as claimed in  claim 17 , wherein the code, when executed at a processor of a virtual desktop controller, is further configured to:
 control the virtual machine server being assigned as the active node to execute the hypervisor and to execute the VMs on the executed hypervisor; and 
 when the failed active node of the failover cluster recovers, configure the recovered active node as a new passive node for the failover cluster with no or minimal down time of the VDI system. 
 
     
     
       21. The non-transitory computer readable medium as claimed in  claim 20 , wherein the code comprises:
 a data store storing information of the system, wherein the information of the system comprises cluster configuration information for the failover cluster; 
 a VM control module configured to control the virtual machine server being assigned as the active node to execute the hypervisor and to execute the VMs on the executed hypervisor; 
 a backup module configured to control the active node to copy the information stored in the active node to the passive node and the CSV; 
 a snap VDI manager (SVM) monitor engine configured to monitor the computing devices of the failover cluster and generate corresponding monitoring information, and to determine whether each of the computing devices fails or recovers based on the monitoring information; 
 a user interface module for displaying the monitoring information on a display device; and 
 a configuration module configured to:
 configure the failover cluster of the system based on the cluster configuration information, 
 configure the active node, 
 configure the passive node, 
 configure the CSV, 
 when the SVM monitor engine determines based on the monitoring information that the active node of the failover cluster fails, configure the new active node for the failover cluster by assigning one of the passive nodes of the failover cluster as the new active node with no or minimal down time of the VDI system, and 
 when the SVM monitor engine determines based on the monitoring information that the failed active node of the failover cluster recovers, configure the recovered active node as a new passive node for the failover cluster with no or minimal down time of the VDI system. 
 
 
     
     
       22. The non-transitory computer readable medium as claimed in  claim 21 , wherein the configuration module is configured to configure the failover cluster of the system based on the cluster configuration information by:
 adding each of the computing devices into the failover cluster based on the cluster configuration information; 
 configuring each of the computing devices; and 
 for each of the computing devices,
 launching the RAM disk on the volatile memory array using the RAM disk driver; 
 deploying the VMs to the RAM disk; and 
 executing the VMs from the RAM disk. 
 
 
     
     
       23. The non-transitory computer readable medium as claimed in  claim 22 , wherein the SVM monitor engine is configured to monitor the computing devices of the failover cluster by:
 monitoring hardware components of each of the computing devices; and 
 monitoring the RAM disk of each of the computing devices.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.