IP Library Granted Patent US 11,755,272
Granted Patent B2
US 11,755,272 · App. 17/643,815 · Granted Sep 12, 2023

Method and system for using enhancement techniques to improve remote display while reducing hardware consumption at a remote desktop

Inventors: Yang Liu (Beijing, CN); Lin Lv (Beijing, CN); Jingxiao Xu (Beijing, CN); Yanchao Zhang (Beijing, CN); Le Yu (Beijing, CN); Qimin Yao (Atlanta, GA)
Assignee: VMWARE, INC.
G06F3/1454G06F3/1415G06F3/1438G06F3/1462G06T1/20G06T3/4007
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,755,272
App. No.
17/643,815
Granted
Sep 12, 2023
Kind
B2
Abstract

The disclosure provides a method for optimizing remote display at a client device in communication with a remote desktop. The method generally includes receiving one or more frames for display at the client device, determining that a frame rate of the received one or more frames is less than an expected frame rate and/or a resolution of the received one or more frames is less than an expected resolution, determining that at least one of a local central processing unit (CPU) usage at the client device is less than a CPU usage threshold or a local graphics processing unit (GPU) usage at the client device is less than a GPU usage threshold, applying one or more enhancement techniques to the received one or more frames to produce one or more optimized frames while continuously monitoring the local CPU usage and/or the local GPU usage at the client device, and rendering the one or more optimized frames for display at the client device.

Claims (59)

1. A method of optimizing remote display at a client device in communication with a remote desktop, the method comprising:

receiving one or more frames for display at the client device, the one or more frames corresponding to the remote desktop running on a remote device;

determining that at least one of a frame rate of the received one or more frames is less than an expected frame rate or a resolution of the received one or more frames is less than an expected resolution;

determining that at least one of a local central processing unit (CPU) usage at the client device is less than a CPU usage threshold or a local graphics processing unit (GPU) usage at the client device is less than a GPU usage threshold;

using at least one of local CPU or local GPU at the client device to apply one or more enhancement techniques to the received one or more frames to produce one or more optimized frames while monitoring at least one of the local CPU usage or the local GPU usage at the client device to ensure that the local CPU usage and the local GPU usage do not exceed the CPU usage threshold or the GPU usage threshold, respectively; and

rendering the one or more optimized frames for display at the client device.

2. The method of claim 1 , further comprising:

determining that at least one of the frame rate or the resolution of the received one or more frames is less than a frame rate or a resolution of frames generated for the client device at the remote desktop; and

requesting an agent of the remote desktop to reduce at least one of the frame rate or the resolution of frames generated for the client device at the remote desktop.

3. The method of claim 2 , wherein at least one of the frame rate or the resolution of the received one or more frames is less than the frame rate or the resolution of frames generated for the client device at the remote desktop due, at least in part, to poor network conditions between the client device and the remote desktop.

4. The method of claim 1 , further comprising:

determining that at least one of the frame rate or the resolution of the received one or more frames is more than the expected frame rate or the expected resolution configured for the client device; and

requesting an agent of the remote desktop reduce at least one of a frame rate or a resolution of frames generated for the client device at the remote desktop.

5. The method of claim 1 , wherein at least one of the local CPU or the local GPU at the client device is used to apply the one or more enhancement techniques to the received one or more frames to produce the one or more optimized frames until at least one of:

a frame rate of the one or more optimized frames is equal to or greater than the expected frame rate, or

a resolution of the one or more optimized frames is equal to or greater than the expected resolution configured for the client device.

6. The method of claim 1 , wherein the one or more enhancement techniques comprise one or more of:

frame interpolation techniques for predicting one or more interpolated frames from the received one or more frames to increase the frame rate of the received one or more frames; or

image upscaling techniques for predicting one or more high resolution frames from one or more low resolution frames of the received one or more frames to increase the resolution of the received one or more frames.

7. The method of claim 1 , further comprising adjusting one or more of the expected frame rate or the expected resolution.

8. A system comprising one or more processors and a non-transitory computer readable medium comprising instructions that, when executed by the one or more processors, cause the system to perform a method of optimizing remote display at a client device in communication with a remote desktop, the method comprising:

receiving one or more frames for display at the client device, the one or more frames corresponding to the remote desktop running on a remote device;

determining that at least one of a frame rate of the received one or more frames is less than an expected frame rate or a resolution of the received one or more frames is less than an expected resolution;

determining that at least one of a local central processing unit (CPU) usage at the client device is less than a CPU usage threshold or a local graphics processing unit (GPU) usage at the client device is less than a GPU usage threshold;

using at least one of local CPU or local GPU at the client device to apply one or more enhancement techniques to the received one or more frames to produce one or more optimized frames while monitoring at least one of the local CPU usage or the local GPU usage at the client device to ensure that the local CPU usage and the local GPU usage do not exceed the CPU usage threshold or the GPU usage threshold, respectively; and

rendering the one or more optimized frames for display at the client device.

9. The system of claim 8 , wherein the method further comprises:

determining that at least one of the frame rate or the resolution of the received one or more frames is less than a frame rate or a resolution of frames generated for the client device at the remote desktop; and

requesting an agent of the remote desktop to reduce at least one of the frame rate or the resolution of frames generated for the client device at the remote desktop.

10. The system of claim 9 , wherein at least one of the frame rate or the resolution of the received one or more frames is less than the frame rate or the resolution of frames generated for the client device at the remote desktop due, at least in part, to poor network conditions between the client device and the remote desktop.

11. The system of claim 8 , wherein the method further comprises:

determining that at least one of the frame rate or the resolution of the received one or more frames is more than the expected frame rate or the expected resolution configured for the client device; and

requesting an agent of the remote desktop reduce at least one of a frame rate or a resolution of frames generated for the client device at the remote desktop.

12. The system of claim 8 , wherein at least one of the local CPU or the local GPU at the client device is used to apply the one or more enhancement techniques to the received one or more frames to produce the one or more optimized frames until at least one of:

a frame rate of the one or more optimized frames is equal to or greater than the expected frame rate, or

a resolution of the one or more optimized frames is equal to or greater than the expected resolution configured for the client device.

13. The system of claim 8 , wherein the one or more enhancement techniques comprise one or more of:

frame interpolation techniques for predicting one or more interpolated frames from the received one or more frames to increase the frame rate of the received one or more frames; or

image upscaling techniques for predicting one or more high resolution frames from one or more low resolution frames of the received one or more frames to increase the resolution of the received one or more frames.

14. The system of claim 8 , wherein the method further comprises adjusting one or more of the expected frame rate or the expected resolution.

15. A non-transitory computer-readable medium comprising instructions that, when executed by one or more processors of a computing system, cause the computing system to perform a method of optimizing remote display at a client device in communication with a remote desktop, the method comprising:

receiving one or more frames for display at the client device, the one or more frames corresponding to the remote desktop running on a remote device;

determining that at least one of a frame rate of the received one or more frames is less than an expected frame rate or a resolution of the received one or more frames is less than an expected resolution;

determining that at least one of a local central processing unit (CPU) usage at the client device is less than a CPU usage threshold or a local graphics processing unit (GPU) usage at the client device is less than a GPU usage threshold;

using at least one of local CPU or local GPU at the client device to apply one or more enhancement techniques to the received one or more frames to produce one or more optimized frames while monitoring at least one of the local CPU usage or the local GPU usage at the client device to ensure that the local CPU usage and the local GPU usage do not exceed the CPU usage threshold or the GPU usage threshold, respectively; and

rendering the one or more optimized frames for display at the client device.

16. The non-transitory computer-readable medium of claim 15 , wherein the method further comprises:

determining that at least one of the frame rate or the resolution of the received one or more frames is less than a frame rate or a resolution of frames generated for the client device at the remote desktop; and

requesting an agent of the remote desktop to reduce at least one of the frame rate or the resolution of frames generated for the client device at the remote desktop.

17. The non-transitory computer-readable medium of claim 16 , wherein at least one of the frame rate or the resolution of the received one or more frames is less than the frame rate or the resolution of frames generated for the client device at the remote desktop due, at least in part, to poor network conditions between the client device and the remote desktop.

18. The non-transitory computer-readable medium of claim 15 , wherein the method further comprises:

determining that at least one of the frame rate or the resolution of the received one or more frames is more than the expected frame rate or the expected resolution configured for the client device; and

requesting an agent of the remote desktop reduce at least one of a frame rate or a resolution of frames generated for the client device at the remote desktop.

19. The non-transitory computer-readable medium of claim 15 , wherein at least one of the local CPU or the local GPU at the client device is used to apply the one or more enhancement techniques to the received one or more frames to produce the one or more optimized frames until at least one of:

a frame rate of the one or more optimized frames is equal to or greater than the expected frame rate, or

a resolution of the one or more optimized frames is equal to or greater than the expected resolution configured for the client device.

20. The non-transitory computer-readable medium of claim 15 , wherein the one or more enhancement techniques comprise one or more of:

frame interpolation techniques for predicting one or more interpolated frames from the received one or more frames to increase the frame rate of the received one or more frames; or

image upscaling techniques for predicting one or more high resolution frames from one or more low resolution frames of the received one or more frames to increase the resolution of the received one or more frames.

Assignments (4)
PATENT ASSIGNMENT Recorded Aug 5, 2024
From: VMWARE LLC
To: OMNISSA, LLC
Reel/Frame 068327/0365 →
SECURITY INTEREST Recorded Jul 3, 2024
From: OMNISSA, LLC
To: UBS AG, STAMFORD BRANCH
Reel/Frame 068118/0004 →
CHANGE OF NAME Recorded Apr 15, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067102/0395 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2021
From: LIU, YANG; LV, LIN; XU, JINGXIAO; ZHANG, YANCHAO; YU, LE; YAO, QIMIN
To: VMWARE, INC.
Reel/Frame 058365/0746 →
Continuity (1)
Related Publication 20230185512A1 · Jun 15, 2023