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

US9772869B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9772869-B2
Application numberUS-201514606798-A
CountryUS
Kind codeB2
Filing dateJan 27, 2015
Priority dateJan 27, 2015
Publication dateSep 26, 2017
Grant dateSep 26, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Certain aspects direct to systems and methods for performing virtual machine (VM) management to provide efficient user login and minimize resource usage. The system includes a virtual machine server storing a hypervisor and multiple VMs, and a virtual desktop controller. The virtual desktop controller is configured to control the virtual machine server to execute the hypervisor, and to execute at least (M+S) instances of the VMs on the executed hypervisor. When the virtual desktop controller detects a current number X of the executed VMs on the executed hypervisor, the virtual desktop controller determines whether X is greater than M. If X is greater than M, the virtual desktop controller controls the virtual machine server to execute some instances unexecuted VMs as the spare VMs on the hypervisor, such that S instances of the spare VMs are available to provide efficient user login.

First claim

Opening claim text (preview).

What is claimed is: 1. A system, comprising: a virtual machine server storing a hypervisor and a plurality of virtual machines (VMs) {VM- 1 , VM- 2 , . . . , VM-N}, wherein N is a positive integer greater than one; a plurality of computing devices communicatively connected to the virtual machine server via a network, wherein each of the computing devices is configured to remotely access one of the executed VMs; and a virtual desktop controller communicatively connected to the virtual machine server via an interface, wherein the virtual desktop controller comprises a processor, a memory, and a storage device storing computer executable code, wherein the computer executable code, when executed at the processor, is configured to: control the virtual machine server to execute the hypervisor, and to execute at least (M+S) instances of the VMs as spare VMs on the executed hypervisor, wherein M and S are integers, 0≦M<N, and 0<S<N; detect a current number X of the executed VMs assigned to the computing devices on the executed hypervisor, wherein X is an integer, and 0<X≦N; determine whether the current number X is greater than M; and in response to determining that X is greater than M, control the virtual machine server to execute a plurality of unexecuted VMs as the spare VMs on the executed hypervisor, such that at least S instances of the spare VMs are available, wherein the virtual machine server is configured to: receive a first instruction from a first computing device of the computing devices to access one of the VMs, wherein the first computing device is not remotely accessing any of the executed VMs; assign one of the spare VMs to the first computing device in response to the first instruction; receive a second instruction from a second computing device of the computing devices to shut down a corresponding executed VM assigned to the second computing device, wherein the second computing device is remotely accessing the corresponding executed VM; and shut down the corresponding executed VM in response to the second instruction. 2. The system as claimed in claim 1 , wherein the computer executable code, when executed at the processor, is further configured to: when S is greater than (N−X), control the virtual machine server to execute all of the unexecuted VMs as the spare VMs on the hypervisor. 3. The system as claimed in claim 1 , wherein the virtual machine server is further configured to: execute the hypervisor; and execute the VMs on the executed hypervisor, wherein each of the executed VMs is configured to be accessible for the computing devices functioning as a plurality of thin clients. 4. The system as claimed in claim 1 , wherein the computer executable code is configured to detect the current number X of the executed VMs assigned to the computing devices periodically. 5. The system as claimed in claim 1 , wherein each of the VMs is a shared instance of a pooled VM. 6. A method for performing virtual machine (VM) management to provide efficient user login and minimize resource usage, the method comprising: controlling, by a processor of a virtual desktop controller, a virtual machine server to execute a hypervisor, and to execute at least (M+S) instances of a plurality of VMs {VM- 1 , VM- 2 , . . . , VM-N} as spare VMs on the executed hypervisor, wherein the virtual desktop controller is communicatively connected to the virtual machine server via an interface, N is a positive integer greater than one, and M and S are integers, wherein 0≦M<N, and 0<S<N; detecting, by the processor of the virtual desktop controller, a current number X of the executed VMs assigned to a plurality of computing devices on the executed hypervisor, wherein the computing devices are communicatively connected to the virtual machine server via a network, wherein each of the computing devices is configured to remotely access one of the executed VMs, X is an integer, and 0<X≦N; determining, by the processor of the virtual desktop controller, whether the current number X is greater than M; and in response to determining that X is greater than M, controlling, by the processor of the virtual desktop controller, the virtual machine server to execute a plurality of unexecuted VMs as the spare VMs on the executed hypervisor, such that at least S instances of the spare VMs are available; wherein the virtual machine server is configured to: receive a first instruction from a first computing device of the computing devices to access one of the VMs, wherein the first computing device is not remotely accessing any of the executed VMs; and assign one of the spare VMs to the first computing device in response to the first instruction; receive a second instruction from a second computing device of the computing devices to shut down a corresponding executed VM assigned to the second computing device, wherein the second computing device is remotely accessing the corresponding executed VM; and shut down the corresponding executed VM in response to the second instruction. 7. The method as claimed in claim 6 , further comprising: when S is greater than (N−X), controlling, by the processor of the virtual desktop controller, the virtual machine server to execute all of the unexecuted VMs as the spare VMs on the hypervisor. 8. The method as claimed in claim 6 , wherein each of the VMs is a shared instance of a pooled VM. 9. The method as claimed in claim 6 , wherein the virtual machine server is further configured to: execute the hypervisor; and execute the VMs on the executed hypervisor, wherein each of the executed VMs is configured to be accessible for the computing devices functioning as a plurality of thin clients. 10. 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: control a virtual machine server to execute a hypervisor, and to execute at least (M+S) instances of a plurality of VMs {VM- 1 , VM- 2 , . . . , VM-N} as spare VMs on the executed hypervisor, wherein the virtual desktop controller is communicatively connected to the virtual machine server via an interface, N is a positive integer greater than one, and M and S are integers, wherein 0≦M<N, and 0<S<N; detect a current number X of the executed VMs assigned to a plurality of computing devices on the executed hypervisor, wherein the computing devices are communicatively connected to the virtual machine server via a network, wherein each of the computing devices is configured to remotely access one of the executed VMs, X is an integer, and 0<X≦N; determine whether the current number X is greater than M; and in response to determining that X is greater than M, control the virtual machine server to execute a plurality of unexecuted VMs as the spare VMs on the executed hypervisor, such that at least S instances of the spare VMs are available; wherein the virtual machine server is configured to: receive a first instruction from a first computing device of the computing devices to access one of the VMs, wherein the first computing device is not remotely accessing any of the executed VMs; assign one of the spare VMs to the first computing device in response to the first instruction; receive a second instruction from a second computing device of the computing devices to shut down a corresponding executed VM assigned to the second computing device, wherein the second computing device is remotely accessing the corresponding executed VM; and shut down the corresponding executed VM in response to the second instruction. 11. The non-transitory computer readable medium as claimed in claim 10 , wherein the computer executa

Assignees

Inventors

Classifications

  • Hypervisor-specific management and integration aspects · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9772869B2 cover?
Certain aspects direct to systems and methods for performing virtual machine (VM) management to provide efficient user login and minimize resource usage. The system includes a virtual machine server storing a hypervisor and multiple VMs, and a virtual desktop controller. The virtual desktop controller is configured to control the virtual machine server to execute the hypervisor, and to execute …
Who is the assignee on this patent?
American Megatrends Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45558. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Sep 26 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).