WebRTC API redirection with network connectivity steering

US11005930B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-11005930-B2
Application numberUS-201916402902-A
CountryUS
Kind codeB2
Filing dateMay 3, 2019
Priority dateMay 4, 2018
Publication dateMay 11, 2021
Grant dateMay 11, 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, and performs network connectivity probing to determine reachability to a peer computing device. A media stream is established with the peer computing device based on the network connectivity probing.

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 first portion of the real-time media application, 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 a second portion of the real-time media application is 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 second portion of the real-time media application, with the redirected second portion of the real-time media application corresponding to networking connectivity probing being off-loaded to said client computing device, and including a probing point to a connectivity server, perform the off-loaded network connectivity probing to determine reachability to a peer computing device by requesting a relay path from a connectivity server based on the received probing point to the connectivity server, with the peer computing device also requesting a relay path from the connectivity server, and establish at least one media stream with the peer computing device based on media paths chosen by the connectivity. 2. 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. 3. The computing system according to claim 2 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 is provided over the virtual channel. 4. The computing system according to claim 1 wherein the network connectivity probing is based on interactive connectivity establishment (ICE). 5. The computing system according to claim 1 wherein the network connectivity probing is based on communications with at least one session traversal utilities for NAT (STUN) server implementing a STUN protocol. 6. The computing system according to claim 5 wherein the network connectivity probing is further based on communications with at least one traversal using relay NAT (TURN) server implementing a TURN protocol. 7. 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. 8. The computing system according to claim 1 wherein the redirected APIs correspond to real-time media processing. 9. The computing system according to claim 1 wherein the peer computing device is configured as another client computing device. 10. The computing system according to claim 1 wherein the peer computing device is configured as a conference bridge. 11. A method for providing real-time communications (RTC) for peer-to-peer networking comprising: receiving, by a virtual desktop server, a first 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 a second 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 communicating with the API code redirection module to: execute the redirected second portion of the real-time media application, with the redirected second portion of the real-time media application corresponding to networking connectivity probing being off-loaded to the client computing device, and including a probing point to a connectivity server, perform the off-loaded network connectivity probing to determine reachability to a peer computing device by requesting a relay path from a connectivity server based on the received probing point to the connectivity server, with the peer computing device also requesting a relay path from the connectivity server, and establish at least one media stream with a peer computing device based on media paths chosen by the connectivity server. 12. The method according to claim 11 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. 13. The method according to claim 12 wherein a client RTC API engine of the client computing device communicates with the API code redirection module of the virtual desktop server through a virtual channel, and wherein the information directed to STUN and TURN servers to be used in the network connectivity probing is provided over the virtual channel. 14. The method according to claim 11 wherein the availability of the peer computing device is determined by network connectivity probing based on interactive connectivity establishment (ICE). 15. The method according to claim 11 wherein the network connectivity probing is based on communications with at least one session traversal utilities for NAT (STUN) server implementing a STUN protocol. 16. The method according to claim 15 wherein the network connectivity probing is further based on communications with at least one traversal using relay NAT (TURN) server implementing a TURN protocol. 17. The method according to claim 12 wherein the API code redirection module redirects the intercepted APIs based on redirection code injected into the real-time media application. 18. The method according to claim 11 wherein the redirected APIs correspond to real-time media processing. 19. The method according to claim 11 wherein the peer computing device is configured as at least one of another client computing device and a conference bridge. 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 first 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 a second 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 second portion of the real-time media application, with the redirected second portion of the real-time media application corresponding to networking connectivity probing being off-loaded to the client computing device, and including a probing point to a connectivity server; perform the off-loaded network

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 US11005930B2 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 May 11 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).