# US 12,001,287 B2 · Systems and methods for detection of degradation of a virtual desktop environment

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,001,287 B2
- Document ID: US12001287B2
- Status: Granted
- Kind: B2
- Application number: 17/936,724
- Filed: 2022-09-29
- Published: 2023-01-26
- Granted: 2024-06-04
- Earliest claimed: 2020-11-17
- Assignees: Citrix Systems, Inc.
- Applicants: Citrix Systems, Inc.
- Inventors: Andreas Varnavas; Neha Joshi; Vikramjeet Singh; Prabhjeet Singh Chawla
- Web page: https://patentgrep.com/patent/US12001287B2

## CPC

- G06F 11/1423: {by reconfiguration of paths}
- H04L 41/065: {involving logical or physical relationship, e.g. grouping and hierarchies}
- G06F 9/452: {Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131)}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 11/302: {where the computing system component is a software system}
- G06F 11/3495: {for systems}
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L 43/091: Measuring contribution of individual network components to actual service level
- G06F 2009/45562: {Creating, deleting, cloning virtual machine instances}
- G06F 2201/85: Active fault masking without idle spares
- H04L 41/0661: {by reconfiguring faulty entities}
- H04L 41/0893: Assignment of logical groups to network elements
- H04L 41/16: using machine learning or artificial intelligence
- H04L 43/0864: Round trip delays
- H04L 43/16: Threshold monitoring
- H04L 63/0272: {Virtual private networks}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Described embodiments provide systems and methods for detection of the degradation of a virtual desktop environment. A computing device may receive data from a plurality of client devices. The computing device may identify a subset of client devices from the plurality of client devices with at least one characteristic in common based on the received data. The computing device may determine a ratio of the identified subset of client devices, the ratio being a comparison of client devices of the subset with a value above a first threshold to a total number of client devices of the subset, and the value being indicative of a characteristic of performance for that client device. The computing device may identify a cause of an anomaly in the performance of the application based on the ratio exceeding a second threshold.

## Claims

### Claim 1

A system comprising
one or more processors, coupled to memory and configured to:
receive, for a plurality of client devices, data comprising values of a performance characteristic indicative of performance of an application hosted on a remote computing device;
identify a subset of client devices from the plurality of client devices with one or more characteristics in common;
determine a ratio of a number of client devices of the subset with a value of the performance characteristic above a first threshold to a total number of client devices of the subset; and
identify a cause of an anomaly in the performance of the application based at least on the ratio exceeding a second threshold.

### Claim 2 (depends on 1)

The system of claim 1, wherein the performance characteristic comprises a round trip time of a remote desktop protocol, a logon duration into a virtual desktop environment, or a number of automatic reconnection attempts.

### Claim 3 (depends on 1)

The system of claim 1, wherein the one or more characteristics comprises a machine identifier, a delivery group identifier, a geographical location, or a network identifier.

### Claim 4 (depends on 1)

The system of claim 1, wherein the application is one of a virtual desktop environment or a virtual application.

### Claim 5 (depends on 1)

The system of claim 1, wherein the one or more processors are further configured to send a command to the remote computing device to cause modification of a configuration of the remote computing device, responsive to identifying the cause of the anomaly.

### Claim 6 (depends on 1)

The system of claim 1, wherein the one or more processors are further configured to receive the data from a monitoring server.

### Claim 7

A system comprising
one or more processors, coupled to memory and configured to:
receive data over different periods of time in which a plurality of client devices access an application hosted on a remote computing device, the data indicative of performance of the plurality of client devices in accessing the application;
determine, based at least on the data, a difference in performance of at least one client device of the plurality of client devices in accessing the application for the different periods of time;
compare a value of a level of confidence in the difference in performance of the at least one client device in accessing the application to a threshold; and
identify an anomaly in performance of the at least one client device based at least on the comparison of the value to the threshold.

### Claim 8 (depends on 7)

The system of claim 7, wherein the one or more processors are further configured to identify one or more client devices as experiencing the anomaly, responsive to each of the one or more client devices having values for a characteristic of performance for a period of time and a subsequent period of time for which a difference between the values exceeds a first threshold.

### Claim 9 (depends on 8)

The system of claim 8, wherein the one or more processors are further configured to identify a severity of the anomaly based on a number of the one or more client devices.

### Claim 10 (depends on 7)

The system of claim 7, wherein the one or more processors are further configured to communicate a command to reboot a client device, network device, server, or the other computing device, responsive to identifying the anomaly in performance.

### Claim 11 (depends on 7)

The system of claim 7, wherein the one or more processors are further configured to adjust the threshold responsive to one or more different time periods being identified as anomalous or non-anomalous.

### Claim 12 (depends on 7)

The system of claim 7, wherein the one or more processors are further configured to further redirect one or more client devices to another remote computing device to access the application, responsive to identifying the at least on client device as experiencing the anomaly.

### Claim 13 (depends on 7)

The system of claim 7, wherein the one or more processors are further configured to select a first subset of values of a characteristic of performance of a period of time and a second subset of values of the characteristic of performance of a subsequent period of time, and determining a difference in performance between a function of the first subset and the second subset.

### Claim 14

A system comprising
one or more processors, coupled to memory and configured to:
receive data comprising values of a performance characteristic indicative of performance experienced by a plurality of client devices accessing an application hosted on a remote computing device;
identify, using the data, one or more performance characteristics for one or more client devices of the plurality of client devices accessing the application hosted on the remote computing devices;
compare one or more values of the one or more performance characteristic to a threshold; and
identify an anomaly in performance of the at least one client device of the one or client devices based on the comparison of the value to the threshold.

### Claim 15 (depends on 14)

The system of claim 14, wherein the one or more processors are further configured to identify the one or more client devices as a subset from the plurality of client devices with one or more characteristics in common and determine a ratio of a number of the one or more clients with a value of the performance characteristic above the threshold to a total number of the plurality of client devices of the subset.

### Claim 16 (depends on 14)

The system of claim 14, wherein the one or more processors are further configured to determine, based at least on the data, a difference in performance of at least one client device of the plurality of client devices in accessing the application for different periods of time and determine a value of a level of confidence in the difference in performance of the at least one client device in accessing the application.

### Claim 17 (depends on 14)

The system of claim 14, wherein the performance characteristic comprises a round trip time of a remote desktop protocol, a logon duration into a virtual desktop environment, or a number of automatic reconnection attempts.

### Claim 18 (depends on 14)

The system of claim 14, wherein the one or more characteristics comprises a machine identifier, a delivery group identifier, a geographical location, or a network identifier.

### Claim 19 (depends on 14)

The system of claim 14, wherein the application is one of a virtual desktop environment or a virtual application.

### Claim 20 (depends on 14)

The system of claim 14, wherein the one or more processors are further configured to send a command to the remote computing device to cause modification of a configuration of the remote computing device, responsive to identifying the cause of the anomaly.
