IP Library Patent Application 18348184
Patent Application
App. No. 18/348,184

EMPIRICAL CHARACTERIZATION OF USER EXPERIENCE WITH ARBITRARY WORKLOADS IN VDI ENVIRONMENTS

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 None
App. No.
18/348,184
Abstract

The disclosure provides an approach for verifying and improving the visual experience on client machines located on a virtual desktop infrastructure (VDI) system in response to measuring various metrics of the visual display. The metrics include frame rate, smoothness, and image quality. The metrics are obtained by using an arbitrary workload. Obtaining the metrics involves running screenshots of the arbitrary workload through convolutional neural nets to measure blemishes and blurriness.

Claims (57)

1 . A method of verifying a quality of virtual desktop infrastructure (VDI) display, the method comprising:

(a) selecting n-th and (n+1)-th sequential screenshots of a set of N screenshots taken on a client device of a VDI system;

(b) performing structural similarity index measure (SSIM) on the two sequential screenshots to determine whether the two sequential screenshots are distinct;

(c) determining whether the n-th screenshot is a blurry version of the (n+1)-th screenshot;

(d) in response to determining that the n-th screenshot is not a blurry version of the (n+1)-th screenshot, incrementing a frames per second (FPS) counter;

(e) incrementing n and repeating steps (a)-(e) until all of the screenshots have been selected; and

(f) verifying the quality of the VDI based on a value of the FPS counter.

2 . The method of claim 1 , further comprising calculating a smoothness metric, wherein the calculating a smoothness metric comprises:

calculating a pairwise SSIM timeseries of the set of screenshots;

calculating a Fourier transform spectrum of the timeseries;

calculating an energy of the spectrum; and

comparing the energy of the spectrum to an energy derived from a set of screenshots taken locally on a machine.

3 . The method of claim 2 , wherein the energy of the spectrum is calculated from a lower portion of the spectrum.

4 . The method of claim 1 , the method further comprising:

creating an arbitrary workload; and

running the arbitrary workload on the VDI system to create the set of screenshots taken on the client device.

5 . The method of claim 4 , wherein the arbitrary workload executes on a virtual computing instance of a host located in a datacenter of the VDI system.

6 . The method of claim 1 , the method further comprising:

after the performing SSIM, and prior to determining whether the n-th screenshot is a blurry version of the (n+1)-th screenshot, feeding the n-th screenshot through a first neural net to determine whether the n-th screenshot is blurry.

7 . The method of claim 6 , wherein the first neural net is a convolutional neural net comprising one or more convolution layers, one or more max pool layers, and one or more fully connected layers.

8 . The method of claim 6 , further comprising measuring image quality, wherein the measuring of image quality comprises:

determining the presence of blemishes in the set of screenshots taken on the client device, wherein the determining comprises feeding the set of screenshots taken on the client device through a third neural net; and

determining the presence of blurriness in the set of screenshots taken on the client device, wherein the determining comprises feeding the set of screenshots taken on the client device through the first neural net.

9 . The method of claim 1 , wherein the determining whether the n-th screenshot is a blurry version of the (n+1)-th screenshot comprises feeding the n-th screenshot and the (n+1)-th screenshot through a second neural net.

10 . The method of claim 9 , wherein the second neural net is a convolutional neural net comprising a top model and a bottom model identical to the top model, wherein each model comprises one or more convolution layers, one or more max pool layers, and one or more fully connected layers.

11 . A non-transitory computer readable medium comprising instructions to be executed in a processor of a computer system, the instructions when executed in the processor cause the computer system to carry out a method of verifying a quality of virtual desktop infrastructure (VDI) display, the method comprising:

(a) selecting n-th and (n+1)-th sequential screenshots of a set of N screenshots taken on a client device of a VDI system;

(b) performing structural similarity index measure (SSIM) on the two sequential screenshots to determine whether the two sequential screenshots are distinct;

(c) determining whether the n-th screenshot is a blurry version of the (n+1)-th screenshot;

(d) in response to determining that the n-th screenshot is not a blurry version of the (n+1)-th screenshot, incrementing a frames per second (FPS) counter;

(e) incrementing n and repeating steps (a)-(e) until all of the screenshots have been selected; and

(f) verifying the quality of the VDI based on a value of the FPS counter.

12 . The non-transitory computer readable medium of claim 11 , further comprising calculating a smoothness metric, wherein the calculating a smoothness metric comprises:

calculating a pairwise SSIM timeseries of the set of screenshots;

calculating a Fourier transform spectrum of the timeseries;

calculating an energy of the spectrum; and

comparing the energy of the spectrum to an energy derived from a set of screenshots taken locally on a machine.

13 . The non-transitory computer readable medium of claim 12 , wherein the energy of the spectrum is calculated from a lower portion of the spectrum.

14 . The non-transitory computer readable medium of claim 11 , the method further comprising:

creating an arbitrary workload; and

running the arbitrary workload on the VDI system to create the set of screenshots taken on the client device.

15 . The non-transitory computer readable medium of claim 14 , wherein the arbitrary workload executes on a virtual computing instance of a host located in a datacenter of the VDI system.

16 . The non-transitory computer readable medium of claim 11 , the method further comprising:

after the performing SSIM, and prior to determining whether the n-th screenshot is a blurry version of the (n+1)-th screenshot, feeding the n-th screenshot through a first neural net to determine whether the n-th screenshot is blurry.

17 . The non-transitory computer readable medium of claim 16 , further comprising measuring image quality, wherein the measuring of image quality comprises:

determining the presence of blemishes in the set of screenshots taken on the client device, wherein the determining comprises feeding the set of screenshots taken on the client device through a third neural net; and

determining the presence of blurriness in the set of screenshots taken on the client device, wherein the determining comprises feeding the set of screenshots taken on the client device through the first neural net.

18 . The non-transitory computer readable medium of claim 11 , wherein the determining whether the n-th screenshot is a blurry version of the (n+1)-th screenshot comprises feeding the n-th screenshot and the (n+1)-th screenshot through a second neural net.

19 . The non-transitory computer readable medium of claim 17 , wherein the second neural net is a convolutional neural net comprising a top model and a bottom model identical to the top model, wherein each model comprises one or more convolution layers, one or more max pool layers, and one or more fully connected layers.

20 . A computer system comprising:

a first processor programmed to perform a method of verifying a quality of virtual desktop infrastructure (VDI) display, the method comprising:

(a) selecting n-th and (n+1)-th sequential screenshots of a set of N screenshots taken on a client device of a VDI system;

(b) performing structural similarity index measure (SSIM) on the two sequential screenshots to determine whether the two sequential screenshots are distinct;

(c) determining whether the n-th screenshot is a blurry version of the (n+1)-th screenshot;

(d) in response to determining that the n-th screenshot is not a blurry version of the (n+1)-th screenshot, incrementing a frames per second (FPS) counter;

(e) incrementing n and repeating steps (a)-(e) until all of the screenshots have been selected; and

(f) verifying the quality of the VDI based on a value of the FPS counter.

Assignments (2)
CHANGE OF NAME Recorded Apr 25, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067239/0402 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 19, 2023
From: SIVARAMAN, HARI; HOSSAIN, MOHAMMAD ZAHANGIR
To: VMWARE, INC.
Reel/Frame 064319/0310 →