IP Library › Granted Patent US 11,870,866
Granted Patent B1
US 11,870,866 · App. 17/833,303 · Granted Jan 9, 2024

High availability virtual desktop infrastructure

Inventors: Maxim Kudrin (Moscow, RU); Nikolay Dobrovolskiy (Moscow, RU); Serguei M. Beloussov (Singapore, SG)
Assignee: Parallels International GmbH
H04L67/562G06F9/452H04L63/083H04L67/1095H04L67/1097H04L67/306H04L67/563
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 11,870,866
App. No.
17/833,303
Granted
Jan 9, 2024
Kind
B1
Abstract

A method for providing high availability Virtual Desktop Infrastructure (VDI) includes determining, by a VDI client and based on connection information for a first VDI broker associated with a first datacenter, whether a connection to the first VDI broker is available, and responsive to determining that the connection to the first VDI broker associated with the first datacenter is available, connecting the VDI client to a first VDI broker associated with a first datacenter. The method also includes sending authentication information pertaining to the user to the first VDI broker to authenticate the user through a domain controller, receiving, from the first VDI broker, a list of desktop pools available for one or more groups containing the user that has been authenticated with the first VDT broker, sending, to the first VDI broker, a desktop pool identifier associated with a desktop pool from the list of available desktop pools, receiving, from the first VDI broker, an address of a desktop selected from the desktop pool associated with the desktop pool identifier sent to the VDI broker, and providing the selected desktop to the user.

Claims (72)

1. A system providing a high availability Virtual Desktop Infrastructure (VDI) to a user, comprising:

a primary data center configured to provide virtual desktops to users; wherein

the primary data center establishes whether an event relating to a virtual desktop of a user has occurred;

the primary data center upon a positive determination establishes another virtual desktop for the user upon a secondary data center which is configured to provide other virtual desktops to users; wherein

each of the primary data center and secondary data center further comprises:

a VDI management node configured to control a VDI broker assigned to it from a pool of VDI brokers;

at least one VDI hardware node configured to run at least one Virtual Execution Environment (VEE) representing a virtual desktop; and

either a domain name system (DNS) server or a domain controller;

a VDI database accessible to the pool of VDI brokers is configured to store global desktop pool configuration data, user group template data, and user desktops;

the DNS server of the primary data center stores an address of the VDI broker assigned to the secondary data center;

the event is failure of a user to connect to a VDI broker assigned to the primary data center to establish the virtual desktop of the user;

the domain controllers of the primary data center and secondary data center are synchronized:

when each of the primary data center and secondary data center comprises the DNS server establishing the another virtual desktop for the user upon the secondary data center is initiated by the DNS server of the primary data center communicating the address of the VDI broker assigned to the secondary data center to an electronic device associated with the user; and

when each of the primary data center and secondary data center comprises the domain controller establishing the another virtual desktop for the user upon the secondary data center is initiated by an application in execution upon an electronic device associated with the user which has a local configuration storing the address of the VDI broker assigned to the primary data center and another addressed of the VDI broker assigned to the secondary data center.

2. A system providing a high availability Virtual Desktop Infrastructure (VDI) to a user, comprising:

a primary data center configured to provide virtual desktops to users; wherein

the primary data center establishes whether an event relating to a virtual desktop of a user has occurred;

the primary data center upon a positive determination establishes another virtual desktop for the user upon a secondary data center which is configured to provide other virtual desktops to users;

each of the primary data center and secondary data center comprises a VDI database accessible by a VDI broker assigned to the corresponding datacenter; wherein

the VDI database is configured to store global desktop pool configuration data, user group template data, and user desktops;

the VDI databases of the primary data center and secondary data center are synchronized;

the domain controllers of the primary data center and secondary data center are synchronized; and

replication between the VDI databases is performed after any commit operation in any of the VDI databases.

3. A system providing a high availability Virtual Desktop Infrastructure (VDI) to a user, comprising:

a primary data center configured to provide virtual desktops to users; wherein

the primary data center establishes whether an event relating to a virtual desktop of a user has occurred;

the primary data center upon a positive determination establishes another virtual desktop for the user upon a secondary data center which is configured to provide other virtual desktops to users.

each of the primary data center and secondary data center comprises a VDI database accessible by a VDI broker assigned to the corresponding datacenter; wherein

the VDI database is configured to store global desktop pool configuration data, user group template data, and user desktops;

the VDI databases of the primary data center and secondary data center are synchronized;

the domain controllers of the primary data center and secondary data center are synchronized;

replication between the VDI databases is performed after any commit operation in any of the VDI databases; and

an agent associated with the primary data center upon which the virtual desktop of the user has been established:

monitors activity during a session associated with the virtual desktop of the user occurred with respect to the primary data center;

determines whether there has been no activity within the session or a predetermined time period; and upon a positive determination closes the session such that a user profile associated with the user can be synchronized.

4. A system providing a high availability Virtual Desktop Infrastructure (VDI) to a user, comprising:

a primary data center configured to provide virtual desktops to users; wherein

the primary data center establishes whether an event relating to a virtual desktop of a user has occurred;

the primary data center upon a positive determination establishes another virtual desktop for the user upon a secondary data center which is configured to provide other virtual desktops to users; wherein

each of the primary data center and secondary data center further comprises:

a VDI management node configured to control a VDI broker assigned to it from a pool of VDI brokers;

at least one VDI hardware node configured to run at least one Virtual Execution Environment (VEE) representing a virtual desktop;

either a domain controller or a distributed file system (DFS) server; and

a VDI database accessible by the VDI broker assigned to the corresponding data center configured to store global desktop pool configuration data, user group template data, and user desktops; wherein

the event is failure of a user to connect to a VDI broker assigned to the primary data center to establish the virtual desktop of the user;

the another virtual desktop for the user upon the secondary data center is established via the VDI broker assigned to the secondary data center receiving a request from an electronic device associated with the user;

the VDI databases of the primary data center and secondary data center are synchronized; and

when each of the primary data center and secondary data center comprises the domain controller:

the address of the VDI broker assigned to the secondary data center was established upon the electronic device by one of retrieving it from a local configuration stored upon the electronic device, receiving it in a first communication received from the domain controller of the primary data center, and receiving it in a second communication received from the VDI broker assigned to the primary data center; and

the domain controllers of the primary data center and secondary data center are synchronized; and

when each of the primary data center and secondary data center comprises the DFS server:

the address of the VDI broker assigned to the secondary data center was established upon the electronic device by one of retrieving it from a local configuration stored upon the electronic device, receiving it in a first communication received from the domain controller of the primary data center, and receiving it in a second communication received from the VDI broker assigned to the primary data center; and

the DFS servers of the primary data center and secondary data center are synchronized.

5. A system providing a high availability Virtual Desktop Infrastructure (VDI) to a user, comprising:

a primary data center configured to provide virtual desktops to users; wherein

the primary data center establishes whether an event relating to a virtual desktop of a user has occurred;

the primary data center upon a positive determination establishes another virtual desktop for the user upon a secondary data center which is configured to provide other virtual desktops to users; wherein

each of the primary data center and secondary data center further comprises:

a VDI management node configured to control a VDI broker assigned to it from a pool of VDI brokers;

at least one VDI hardware node configured to run at least one Virtual Execution Environment (VEE) representing a virtual desktop;

a domain controller; and

a VDI database accessible by the VDI broker assigned to the corresponding datacenter; wherein

each VDI database is configured to store global desktop pool configuration data, user group template data, and user desktops;

the VDI databases of the primary data center and secondary data center are synchronized;

the domain controllers of the primary data center and secondary data center are synchronized,

the event is failure of a user to connect to a VDI broker assigned to the primary data center to establish the virtual desktop of the user; and

establishing the another virtual desktop for the user upon the secondary data center is established by a process comprising the steps of:

establishing an address of the VDI broker assigned to the secondary data center upon electronic device associated with the user;

authenticating the user in dependence upon a request received by the VDI broker assigned to the secondary data center from the electronic device associated with the user;

querying the VDI database of the secondary data center to determine one or more user desktop configurations stored in the VDI database of the secondary data center in a current state; and

upon a positive determination that there are one or more user desktop configurations stored in the VDI database of the secondary data center in the current state establishing the another virtual desktop upon the secondary data center in dependence upon the one or more user desktop configurations stored in the VDI database of the secondary data center in the current state; and

upon a negative determination that there are one or more user desktop configurations stored in the VDI database of the secondary data center in the current state establishing the another virtual desktop upon the secondary data center as a new desktop.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2022
From: KUDRIN, MAXIM; DOBROVOLSKIY, NIKOLAY; BELOUSSOV, SERGUEI M.
To: PARALLELS INTERNATIONAL GMBH
Reel/Frame 060723/0317 →
Continuity (3)
Continuation 17134934 · Dec 28, 2020
Continuation 16807159 · Mar 2, 2020
Continuation 15648549 · Jul 13, 2017
Cited By (1)
US 12,341,756