WebRTC API redirection with network connectivity steering fallback

US10958722B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10958722-B2
Application numberUS-201916402882-A
CountryUS
Kind codeB2
Filing dateMay 3, 2019
Priority dateMay 4, 2018
Publication dateMar 23, 2021
Grant dateMar 23, 2021

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A computing system includes a virtual desktop server and a client computing device. The virtual desktop server includes a real-time media application to provide real-time communications (RTC) for peer-to-peer networking, and a native RTC engine to execute a portion of the real-time media application when received by the native RTC engine. An API code redirection module redirects intercepted APIs of the real-time media application so that the portion of the real-time media application is redirected away from the native RTC engine to a client RTC engine in the client computing device. The client RTC engine executes the redirected portion of the real-time media application, performs network connectivity probing to determine reachability to a peer computing device, and performs fallback network connectivity probing via the virtual desktop server to determine reachability to the peer computing device.

First claim

Opening claim text (preview).

That which is claimed: 1. A computing system comprising: a virtual desktop server comprising: an application framework comprising a real-time media application to provide real-time communications (RTC) for peer-to-peer networking, and a native RTC engine to execute a portion of the real-time media application when received by the native RTC engine, and an application programming interface (API) code redirection module to redirect original APIs of the real-time media application intended for the native RTC engine so that the portion of the real-time media application is to be redirected away from the native RTC engine; and a client computing device comprising a client RTC API engine communicating with the API code redirection module to: execute the redirected portion of the real-time media application, perform network connectivity probing to determine reachability to a peer computing device, perform fallback network connectivity probing via said virtual desktop server to determine reachability to the peer computing device, and establish at least one media stream with the peer computing device via said virtual desktop server based on the fallback network connectivity probing if network connectivity is impaired with the network connectivity probing. 2. The computing system according to claim 1 wherein the client RTC API engine performs the network connectivity probing and the fallback network connectivity probing in parallel. 3. The computing system according to claim 1 wherein said virtual desktop server comprises a media relay module to relay the fallback network connectivity probing and the at least one media stream. 4. The computing system according to claim 3 wherein the client RTC API engine exchanges media packets with the media relay module over a virtual channel as either in-band or off-band independent streams over TCP or UDP transports. 5. The computing system according to claim 3 wherein the media relay module is configured to open network input and output ports to be used as candidates for the fallback network connectivity probing. 6. The computing system according to claim 1 wherein the portion of the real-time media application being redirected includes information directed to at least one of a session traversal utilities for NAT (STUN) server, a traversal using relay NAT (TURN) server, and a combination of a STUN and TURN server; and wherein the client RTC API engine communicates with the API code redirection module through a virtual channel, and wherein the information directed to STUN and TURN servers to be used in the network connectivity probing and fallback connectivity probing is provided over the virtual channel. 7. The computing system according to claim 1 wherein the network connectivity probing and the fallback connectivity probing is based on interactive connectivity establishment (ICE). 8. The computing system according to claim 1 wherein the network connectivity probing and the fallback connectivity probing is based on communications with at least one session traversal utilities for NAT (STUN) server implementing a STUN protocol. 9. The computing system according to claim 8 wherein the network connectivity probing and the fallback connectivity probing is further based on communications with at least one traversal using relay NAT (TURN) server implementing a TURN protocol. 10. The computing system according to claim 1 wherein the API code redirection module redirects the intercepted APIs based on redirection code injected into the real-time media application. 11. The computing system according to claim 1 wherein the redirected APIs correspond to real-time media processing. 12. The computing system according to claim 1 wherein the peer computing device is configured as another client computing device. 13. The computing system according to claim 1 wherein the peer computing device is configured as a conference bridge. 14. The computing system according to claim 1 wherein said client RTC API engine exchanges media packets with said media relay module over a virtual channel. 15. A method for providing real-time communications (RTC) for peer-to-peer networking comprising: receiving, by a virtual desktop server, a portion of a real-time media application to be executed by a native RTC engine of the virtual desktop server; intercepting and redirecting, by an application programming interface (API) code redirection module of the virtual desktop server, APIs of the real-time media application intended for the native RTC engine so that the portion of the real-time media application is redirected away from the native RTC engine; and instructing, by the virtual desktop server, a client computing device comprising a client RTC API engine communicating with the API code redirection module to: execute the redirected portion of the real-time media application, perform network connectivity probing to determine reachability to a peer computing device, perform fallback network connectivity probing via the virtual desktop server to determine reachability to the peer computing device, and establish at least one media stream with the peer computing device via the virtual desktop server based on the fallback network connectivity probing if network connectivity is impaired with the network connectivity probing. 16. The method according to claim 15 wherein the client RTC API engine performs the network connectivity probing and the fallback network connectivity probing in parallel. 17. The method according to claim 15 wherein the virtual desktop server comprises a media relay module to relay the fallback network connectivity probing and the at least one media stream. 18. The method according to claim 17 wherein the media relay module is configured to open network input and output ports to be used as candidates for the fallback network connectivity probing. 19. The method according to claim 15 wherein the redirected portion of the real-time media application includes information directed to at least one of a session traversal utilities for NAT (STUN) server, a traversal using relay NAT (TURN) server, and a combination of a STUN and TURN server. 20. A non-transitory computer readable medium for operating a client computing device within a computing system comprising a virtual desktop server, with the virtual desktop server comprising an application framework comprising a real-time media application to provide real-time communications (RTC) for peer-to-peer networking, and a native RTC engine to execute a portion of the real-time media application when received by the native RTC engine, and an application programming interface (API) code redirection module to redirect intercepted APIs of the real-time media application intended for the native RTC engine so that the portion of the real-time media application is redirected away from the native RTC engine, and with the non-transitory computer readable medium having a plurality of computer executable instructions for causing the client computing device to perform steps comprising: executing the redirected portion of the real-time media application; performing network connectivity probing to determine reachability to a peer computing device; performing fallback network connectivity probing via the virtual desktop server to determine reachability to the peer computing device; and establishing at least one media stream with the peer computing device via the virtual desktop server based on the fallback network connectivity probing if network connect

Assignees

Inventors

Classifications

  • Arrangements for multi-party communication, e.g. for conferences (data switching systems for conference H04L12/18; arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities H04M3/56; television conferencing systems H04N7/15) · CPC title

  • H04L67/104Primary

    Peer-to-peer [P2P] networks · CPC title

  • over a relay server, e.g. traversal using relay for network address translation [TURN] · CPC title

  • Remote windowing, e.g. X-Window System, desktop virtualisation (protocols for virtual reality H04L67/131) · CPC title

  • Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10958722B2 cover?
A computing system includes a virtual desktop server and a client computing device. The virtual desktop server includes a real-time media application to provide real-time communications (RTC) for peer-to-peer networking, and a native RTC engine to execute a portion of the real-time media application when received by the native RTC engine. An API code redirection module redirects intercepted API…
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/104. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 23 2021 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 11 related publications on this page (citations in our corpus or others sharing the same primary CPC).