IP Library Granted Patent US 9,332,046
Granted Patent B2
US 9,332,046 · App. 14/056,051 · Granted May 3, 2016

Rate-adapted delivery of virtual desktop image elements by an edge server in a computer network environment

Inventors: Douglas Chan (San Jose, CA); Jiang Zhu (Sunnyvale, CA); Hao Hu (San Jose, CA)
Assignee: Cisco Technology, Inc.
H04L65/60H04L65/1083H04L65/4084H04L65/4092H04L65/607H04L67/38H04N21/00H04N21/23439H04N21/44209H04N21/8456
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 9,332,046
App. No.
14/056,051
Granted
May 3, 2016
Kind
B2
Abstract

An edge server communicates with a client in a local network. The client displays a remote desktop image representative of a virtual desk image generated by a virtual desktop server (VDS). The edge server receives from the VDS a desktop image to be displayed on the remote desktop. The desktop image includes an incomplete window in which graphic media, such as video, is to be displayed. The edge server determines communication link conditions in the local network and a corresponding transmit data rate at which to transmit data to the client device and a suitable encoding rate at which the graphic media is encoded. The edge server downloads the graphic media from the content server, merges the downloaded graphic media into the incomplete area to produce a completed desktop image, and transmits the completed desktop image at the determined transmit data rate for display on the remote desktop.

Claims (77)

1. A method comprising:

at an edge server configured to communicate with a client device in a local network, the client device configured to execute a remote desktop application to display a desktop image representative of a virtual desktop hosted by a virtual desktop server:

receiving from the virtual desktop server the desktop image to be processed for display by the remote desktop application, the desktop image including an incomplete area in which graphic media is to be displayed, wherein the graphic media includes video accessible from a content server as multiple encoded video streams each encoded at a distinct encoding rate;

determining communication link conditions in the local network;

determining a transmit data rate for transmitting data to the client device over the local network based on the determined link conditions;

selecting, at the edge server, an encoded video stream among the multiple encoded video streams based on the distinct encoding rates and the determined transmit data rate;

downloading the selected encoded video stream of the graphic media from the content server;

transcoding the downloaded encoded video stream to a different encoding rate;

using the transcoded video stream of the graphic media to complete the incomplete area to produce a completed desktop image; and

transmitting the completed desktop image to the client device at the determined transmit data rate for display on the remote desktop.

2. The method of claim 1 , wherein

the selecting includes selecting the encoded video stream among the multiple encoded video streams having a greatest encoding rate that is less than or equal to the determined transmit data rate.

3. The method of claim 2 , wherein:

using the downloaded graphic media includes:

decoding the transcoded video stream at the edge server to recover the video stream; and

merging the video stream into the incomplete area; and

the transmitting includes transmitting the completed desktop image including the merged video stream to the client device.

4. The method of claim 2 , wherein:

using the downloaded graphic media includes merging the transcoded video stream into the incomplete area; and

transmitting includes transmitting the completed desktop image including the merged transcoded video stream to the client device.

5. The method of claim 1 , wherein

the transcoding includes transcoding the downloaded encoded video stream from a first encoding rate to a second encoding rate that is less than or equal to the determined transmit data rate if the first encoding rate is greater than the determined transmit data rate.

6. The method of claim 1 , wherein the determining communication link conditions includes determining a communication bandwidth available to transmit data from the edge server to the client device based on one or more of (i) an available communication bandwidth in the local network, and (ii) a signal-to-noise ratio (SNR) indicative of a quality of one or more communication links in the local network over which data is transmitted from the edge server to the client device.

7. The method of claim 6 , wherein the determining communication link conditions includes collecting information indicative of the communication link conditions from an access point in the local network to which the edge server and the client device are connected.

8. The method of claim 6 , wherein determining the transmit data rate includes determining a maximum data rate that is supported by the determined communication bandwidth.

9. The method of claim 1 , further comprising:

at the edge server, receiving a request for the graphic media from the desktop server over a wide area network, wherein the request was previously sent from the client device to the desktop server, and wherein:

receiving the desktop image includes receiving the desktop image from the virtual desktop server over the wide area network; and

downloading the graphic media includes downloading the graphic media from the content server over the wide area network.

10. An apparatus comprising:

a network interface unit in an edge server configured to communicate with a client device in a local network, the client device configured to execute a remote desktop application to display a desktop image representative of a virtual desktop hosted by a virtual desktop server; and

a processor of the edge server coupled to the network interface unit, and configured to:

receive from the virtual desktop server the desktop image to be processed for display by the remote desktop application, the desktop image including an incomplete area in which graphic media is to be displayed, wherein the graphic media includes video accessible from a content server as multiple encoded video streams each encoded at a distinct encoding rate;

determine communication link conditions in the local network;

determine a transmit data rate for transmitting data to the client device over the local network based on the determined link conditions;

select, at the edge server, an encoded video stream among the multiple encoded video streams based on the distinct encoding rates and the determined transmit data rate;

download the selected encoded video stream of the graphic media from the content server;

transcode the downloaded encoded video stream to a different encoding rate;

use the transcoded video stream of the graphic media to complete the incomplete area to produce a completed desktop image; and

cause the network interface to transmit the completed desktop image to the client device at the determined transmit data rate for display on the remote desktop.

11. The apparatus of claim 10 , wherein the processor is further configured to

select the encoded video stream among the multiple encoded video streams having a greatest encoding rate that is less than or equal to the determined transmit data rate.

12. The apparatus of claim 11 , wherein:

the processor is configured to use the downloaded graphic media by:

decoding the transcoded video stream at the edge server to recover the video stream; and

merging the video stream into the incomplete area; and

the processor is configured to cause the network interface to transmit by causing the network interface to transmit the completed desktop image including the merged video stream to the client device.

13. The apparatus of claim 11 , wherein the processor is configured to:

use the graphic media by merging the transcoded video stream into the incomplete area; and

transmit the completed desktop image including the merged transcoded video stream to the client device.

14. The apparatus of claim 10 , wherein the processor is configured to

transcode the downloaded encoded video stream from a first encoding rate to a second encoding rate that is less than or equal to the determined transmit data rate if the first encoding rate is greater than the determined transmit data rate.

15. The apparatus of claim 10 , wherein the processor is configured to determine communication link conditions by determining a communication bandwidth available to transmit data from the edge server to the client device based on one or more of (i) an available communication bandwidth in the local network, and (ii) a signal-to-noise ratio (SNR) indicative of a quality of one or more communication links in the local network over which data is transmitted from the edge server to the client device.

16. The apparatus of claim 15 , wherein the processor is configured to determine the transmit data rate by determining a maximum data rate that is supported by the determined communication bandwidth.

17. A non-transitory processor readable medium storing instructions that, when executed by a processor, cause the processor to:

at an edge server configured to communicate with a client device in a local network, the client device configured to execute a remote desktop application to display a desktop image representative of a virtual desktop hosted by a virtual desktop server:

receive from the virtual desktop server the desktop image to be processed for display by the remote desktop application, the desktop image including an incomplete area in which graphic media is to be displayed, wherein the graphic media includes video accessible from a content server as multiple encoded video streams each encoded at a distinct encoding rate;

determine communication link conditions in the local network;

determine a transmit data rate for transmitting data to the client device over the local network based on the determined link conditions;

select, at the edge server, an encoded video stream among the multiple encoded video streams based on the distinct encoding rates and the determined transmit data rate;

download the selected encoded video stream of the graphic media from the content server;

transcode the downloaded encoded video stream to a different encoding rate;

use the transcoded video stream of the graphic media to complete the incomplete area to produce a completed desktop image; and

transmit the completed desktop image to the client device at the determined transmit data rate for display on the remote desktop.

18. The processor readable medium of claim 17 , wherein the instructions further comprise instructions operable to cause the processor to

select the encoded video stream among the multiple encoded video streams having a greatest encoding rate that is less than or equal to the determined transmit data rate.

19. The processor readable medium of claim 18 , wherein the instructions operable to cause the processor to use the downloaded graphic media include instructions to cause the processor to:

decode the transcoded video stream at the edge server to recover the video stream; and

merge the video stream into the incomplete area; and

the instructions operable to cause the processor to transmit include instructions to cause the processor to transmit the completed desktop image including the merged video stream to the client device.

20. The processor readable medium of claim 18 , wherein the instructions operable to cause the processor to use the downloaded graphic media include instructions to operable cause the processor to merge the transcoded video stream into the incomplete area; and

wherein the instructions operable to cause the processor to transmit include instructions operable to cause the processor to transmit the completed desktop image including the merged transcoded video stream to the client device.

21. The processor readable medium of claim 17 , wherein the

instructions operable to cause the processor to transcode include instructions to cause the processor to

transcode the downloaded encoded video stream from the first encoding rate to a second encoding rate that is less than or equal to the determined transmit data rate if the first encoding rate is greater than the determined transmit data rate.

22. The processor readable medium of claim 17 , wherein the instructions operable to cause the processor to determine communication link conditions include instructions operable to cause the processor to determine a communication bandwidth available to transmit data from the edge server to the client device based on one or more of (i) an available communication bandwidth in the local network, and (ii) a signal-to-noise ratio (SNR) indicative of a quality of one or more communication links in the local network over which data is transmitted from the edge server to the client device.

23. The processor readable medium of claim 22 , wherein the instructions operable to cause the processor to determine the transmit data rate include instructions operable to cause the processor to determine a maximum data rate that is supported by the determined communication bandwidth.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2013
From: CHAN, DOUGLAS; ZHU, JIANG; HU, HAO
To: CISCO TECHNOLOGY, INC.
Reel/Frame 031434/0546 →
Continuity (1)
Related Publication 20150113157A1 · Apr 23, 2015