Peer to peer communication of a remote display protocol via a real-time communication session
The disclosure provides techniques for peer to peer communication of a remote display protocol via a real-time communication session between a client device and a remote device. Embodiments include receiving, at a remote device configured to execute a virtual desktop, a request to join a real-time communication (RTC) session with a client device. Embodiments include joining the RTC session with the client device in response to receiving the request. Embodiments include receiving, at the remote device and via the RTC session, data indicative of a remote display protocol for rendering the virtual desktop on a display of the client device. Embodiments include performing, at the remote device, one or more actions based, at least in part, on receiving the data indicative of the remote display protocol.
1 . A method comprising:
receiving, at a remote device configured to execute a virtual desktop, a request to join a real-time communication (RTC) session with a client device;
responsive to receiving the request, joining the RTC session with the client device;
receiving, at the remote device and via the RTC session, data indicative of a remote display protocol for rendering the virtual desktop on a display of the client device; and
performing, at the remote device, one or more actions based, at least in part, on receiving the data indicative of the remote display protocol;
obtaining, at the remote device, data indicative of performance of the RTC session; and
adjusting, at the remote device, one or more parameters associated with the remote display protocol based, at least in part, on the data indicative of performance of the RTC session.
2 . The method of claim 1 , wherein the data indicative of performance of the RTC session comprise at least one of (i) a round trip time; (ii) a fraction lost; or (iii) a bandwidth estimation.
3 . The method of claim 1 , wherein the RTC session comprises a WebRTC session.
4 . The method of claim 3 , wherein joining the WebRTC session comprises directly connecting to the client device.
5 . The method of claim 3 , wherein joining the WebRTC session comprises connecting to the client device via a Traversal Using Relays around Network address translation (TURN) server.
6 . The method of claim 1 , wherein the one or more actions comprise communicating media data to the client device via the RTC session, the media data indicative of a current state of the virtual desktop.
7 . A system comprising:
at least one memory; and
at least one processor coupled to the at least one memory, the at least one processor and the at least one memory configured to:
receive, at a remote device configured to execute a virtual desktop, a request to join a real-time communication (RTC) session with a client device;
responsive to receiving the request, join the RTC session with the client device;
receive, at the remote device and via the RTC session, data indicative of a remote display protocol for rendering the virtual desktop on a display of the client device; and
perform, at the remote device, one or more actions based, at least in part, on receiving the data indicative of the remote display protocol;
obtain, at the remote device, data indicative of performance of the RTC session; and
adjust, at the remote device, one or more parameters associated with the remote display protocol based, at least in part, on the data indicative of performance of the RTC session.
8 . The system of claim 7 , wherein the data indicative of performance of the RTC session comprise at least one of (i) a round trip time; (ii) a fraction lost; or (iii) a bandwidth estimation.
9 . The system of claim 7 , wherein the RTC session comprises a WebRTC session.
10 . The system of claim 7 , wherein joining the RTC session comprises directly connecting to the client device.
11 . The system of claim 9 , wherein joining the WebRTC session comprises connecting to the client device via a Traversal Using Relays around Network address translation (TURN) server.
12 . The system of claim 7 , wherein the one or more actions comprise communicating media data to the client device via the RTC session, the media data indicative of a current state of the virtual desktop.
13 . A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:
receive, at a remote device configured to execute a virtual desktop, a request to join a real-time communication (RTC) session with a client device;
responsive to receiving the request, join the RTC session with the client device;
receive, at the remote device and via the RTC session, data indicative of a remote display protocol for rendering the virtual desktop on a display of the client device; and
perform, at the remote device, one or more actions based, at least in part, on receiving the data indicative of the remote display protocol;
obtain, at the remote device, data indicative of performance of the RTC session; and
adjust, at the remote device, one or more parameters associated with the remote display protocol based, at least in part, on the one data indicative of performance of the RTC session.
14 . The non-transitory computer-readable medium of claim 13 , wherein the data indicative of performance of the RTC session comprise at least one of (i) a round trip time; (ii) a fraction lost; or (iii) a bandwidth estimation.
15 . The non-transitory computer-readable medium of claim 13 , wherein the RTC session comprises a WebRTC session.
16 . The non-transitory computer-readable medium of claim 13 , wherein joining the RTC session comprises directly connecting to the client device.
17 . The non-transitory computer-readable medium of claim 15 , wherein joining the WebRTC session comprises connecting to the client device via a Traversal Using Relays around Network address translation (TURN) server.