WebRTC API redirection with fallbacks

US10855755B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10855755-B2
Application numberUS-201816229251-A
CountryUS
Kind codeB2
Filing dateDec 21, 2018
Priority dateMay 4, 2018
Publication dateDec 1, 2020
Grant dateDec 1, 2020

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), a native RTC engine, and an API code redirection module. The API code redirection module redirects original APIs of the real-time media application so that a portion of the real-time media application is to be redirected. The client computing device includes a client RTC API engine reporting to the API code redirection module on capabilities of the client computing device to execute the redirected portion of the real-time media application. The API code redirection module switches to a fallback mode if the client computing device has limited capabilities. In the fallback mode, original APIs are used so that the native RTC engine executes at least part of the portion of the real-time media application.

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), 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 based on redirection code injected into the real-time media application so that the portion of the real-time media application is to be redirected; and a client computing device comprising a client RTC API engine reporting to the API code redirection module through a virtual channel on capabilities of said client computing device to execute the redirected portion of the real-time media application; the API code redirection module switches to a fallback mode if said client computing device has limited capabilities, where in the fallback mode at least part of the original APIs are used so that the native RTC engine executes at least part of the portion of the real-time media application. 2. The computing system according to claim 1 wherein if said client computing device has full capabilities, then the API code redirection module does not switch to the fallback mode so that said client RTC API engine executes all of the redirected portion of the real-time media application. 3. The computing system according to claim 1 wherein a remaining part of the portion of the real-time media application that is not executed by the native RTC engine is redirected to said client RTC API engine for execution. 4. The computing system according to claim 3 wherein the at least part of the portion of the real-time media application executed by the native RTC engine corresponds to video, and wherein the remaining part of the portion of the real-time media application executed by said client RTC API engine corresponds to audio. 5. The computing system according to claim 3 wherein the at least part of the portion of the real-time media application executed by the native RTC engine corresponds to audio, and wherein the remaining part of the portion of the real-time media application executed by said client RTC API engine corresponds to video. 6. The computing system according to claim 1 wherein if said client computing device has no capabilities to execute the redirected portion of the real-time media application, then in the fallback mode all of the original APIs are used so that the native RTC engine executes all of the portion of the real-time media application instead of said client RTC API engine. 7. The computing system according to claim 1 wherein if said client computing device has limited capabilities and the API code redirection module determines that said virtual desktop sever also has limited capabilities, then the API code redirection module does not switch to the fallback mode for at least a part of the portion of the real-time media application, and the at least part of the portion of the real-time media application is not executed by neither said client RTC API engine nor said native RTC engine. 8. The computing system according to claim 7 wherein the at least part of the portion of the real-time media application that is not executed by neither said client RTC API engine nor said native RTC engine corresponds to video, and wherein the remaining part of the portion of the real-time media application is executed by either said client RTC API engine or said native RTC engine in fallback mode and corresponds to at least one of audio and data communications. 9. The computing system according to claim 7 wherein the API code redirection module determines that said virtual desktop sever also has limited capabilities based on at least one of client computing device policies, virtual desktop sever policies, virtual desktop sever CPU load, and media quality. 10. The computing system according to claim 1 wherein said virtual desktop server enumerates devices physically connected to said client computing device when said client computing device is connected to said virtual desktop server, and when said client computing device is disconnected from said virtual desktop server, then the injected code generates events indicating to the real-time media application that all devices have been physically disconnected. 11. The computing system according to claim 10 wherein upon reconnection of said client computing device to said virtual desktop server, the injected code indicates to the real-time media application that new devices are now available, and upon fallback, the injected code defers to the native RTC engine to enumerate the devices physically connected to said client computing device. 12. A method for operating a computing system comprising a virtual desktop server and a client computing device comprising a client real-time communications (RTC) application programming interface (API) API engine, with the virtual desktop server comprising an application framework and an API code redirection module, and with the application framework comprising a real-time media application and a native RTC engine, the method comprising: providing real-time communications (RTC) based on operation of the real-time media application, with a portion of the real-time media application to be executed by the native RTC engine when received by the native RTC engine; redirecting by the API code redirection module original APIs of the real-time media application intended for the native RTC engine based on redirection code injected into the real-time media application so that the portion of the real-time media application is to be redirected; reporting by the client RTC API engine to the API code redirection module through a virtual channel on capabilities of the client computing device to execute the redirected portion of the real-time media application; and operating the API code redirection module to switch to a fallback mode if the client computing device has limited capabilities, where in the fallback mode at least part of the original APIs are used so that the native RTC engine executes at least part of the portion of the real-time media application. 13. The method according to claim 12 wherein if the client computing device has full capabilities, then the API code redirection module does not switch to the fallback mode so that the client RTC API engine executes all of the redirected portion of the real-time media application. 14. The method according to claim 12 wherein a remaining part of the portion of the real-time media application that is not executed by the native RTC engine is redirected to said client RTC API engine for execution. 15. The method according to claim 14 wherein the at least part of the portion of the real-time media application executed by the native RTC engine corresponds to video, and wherein the remaining part of the portion of the real-time media application executed by the client RTC API engine corresponds to audio. 16. The method according to claim 14 wherein the at least part of the portion of the real-time media application executed by the native RTC engine corresponds to audio, and wherein the remaining part of the portion of the real-time media application executed by the client RTC API engine corresponds to video. 17. The method according to claim 12 wherein if the client computing device has no capabilities to execute the redirected portion of the real-time media application, then in the fallback

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 US10855755B2 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), a native RTC engine, and an API code redirection module. The API code redirection module redirects original APIs of the real-time media application so that a portion of the real-time media application is …
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 Dec 01 2020 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).