US2021152630A1PendingUtilityA1

Webrtc api redirection with screen sharing

Assignee: CITRIX SYSTEMS INCPriority: May 4, 2018Filed: Jan 25, 2021Published: May 20, 2021
Est. expiryMay 4, 2038(~11.8 yrs left)· nominal 20-yr term from priority
H04L 65/403H04L 67/104H04L 61/2589G06F 9/452H04L 67/563H04L 67/564H04L 65/61H04L 65/65H04L 65/765H04L 67/59H04L 67/561G06F 9/455G06F 9/45558H04L 67/34H04N 7/147H04L 67/02H04L 65/1059G06F 9/45533H04L 63/20G06F 2209/509H04L 65/60H04N 5/272H04L 61/2564H04L 65/80G06F 2203/04804G06K 19/06028H04L 65/4015H04L 65/1063G06F 2009/45595H04L 43/12H04L 61/2575H04L 67/1091G06F 3/0481H04L 65/1069H04L 67/08G06F 9/45529H04L 61/256G06F 3/1454G06F 9/547G06F 9/45545G06F 2009/45562H04L 61/2514G06T 7/90H04L 65/601H04L 65/608H04L 67/2819H04L 65/4069H04L 67/2861H04L 67/42H04L 67/2804H04L 67/2814
73
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A client computing device includes a display and a processor coupled to the display. The processor is to communicate with a virtual desktop server that includes a real-time media application to provide real time communications (RTC), and receive from the virtual desktop server redirected APIs of the real-time media application based on redirection code injected into a portion of the real-time media application. The injected code enumerates a local client surface and a virtual client surface. The processor executes the redirected portion of the real-time media application, and displays the local client surface and the virtual client surface on the display. The local client surface and the virtual client surface are shared with a second client computing device based on the intercepted APIs enumerating the local and virtual client surfaces.

Claims

exact text as granted — not AI-modified
That which is claimed: 
     
         1 . A client computing device comprising:
 a display; and   a processor coupled to said display and configured to perform the following:
 communicate with a virtual desktop server that includes a real-time media application to provide real time communications (RTC), and receive from the virtual desktop server redirected APIs of the real-time media application based on redirection code injected into a portion of the real-time media application, with the injected code enumerating a local client surface and a virtual client surface, 
 execute the redirected portion of the real-time media application, 
 display the local client surface and the virtual client surface on said display, and 
 share the local client surface and the virtual client surface with a second client computing device based on the intercepted APIs enumerating the local and virtual client surfaces. 
   
     
     
         2 . The client computing device according to  claim 1  wherein said processor is further configured to receive a single list of enumerated sources of shared content for the local and virtual client surfaces based on the executed portion of the real-time media application. 
     
     
         3 . The client computing device according to  claim 2  wherein the sources of shared content comprise at least one of applications and their windows, monitors and desktops. 
     
     
         4 . The client computing device according to  claim 1  wherein said processor is further configured to display a user prompt for a user of the client computing device to confirm that the local and virtual client surfaces are to be shared based on the executed portion of the real-time media application. 
     
     
         5 . The client computing device according to  claim 1  wherein the virtual client surface comprises a plurality of overlapping windows, and if one of the overlapping windows is selected to be shared with the second client computing device, then pixels of the selected window are obtained from the virtual desktop server. 
     
     
         6 . The client computing device according to  claim 1  wherein if a whole virtual desktop of the virtual desktop server is to be shared, then pixels of the virtual desktop are captured by said processor to be delivered to the second client computing device. 
     
     
         7 . The client computing device according to  claim 1  wherein the virtual client surface comprises at least one window that is to be shared with the second client computing device, with pixels of the shared window to be provided by the virtual desktop server to the second client computing device. 
     
     
         8 . The client computing device according to  claim 7  wherein the virtual desktop server compresses the pixels of the at least window. 
     
     
         9 . The client computing device according to  claim 1  wherein the virtual client surface comprises at least one window that is to be shared with the second client computing device, with the pixels of the shared window to be compressed by the virtual desktop server before sending to said processor for sharing with the second client computing device. 
     
     
         10 . The client computing device according to  claim 1  wherein the redirected portion of the real-time media application corresponds to real-time media processing being off-loaded to said processor. 
     
     
         11 . The client computing device according to  claim 1  wherein the second client computing device has peer-to-peer communications with said processor. 
     
     
         12 . A method for operating a client computing device comprising:
 communicating with a virtual desktop server that includes a real-time media application to provide real time communications (RTC);   receiving from the virtual desktop server redirected APIs of the real-time media application based on redirection code injected into a portion of the real-time media application, with the injected code enumerating a local client surface and a virtual client surface;   executing the redirected portion of the real-time media application;   displaying the local client surface and the virtual client surface; and   sharing the local client surface and the virtual client surface with a second client computing device based on the intercepted APIs enumerating the local and virtual client surfaces.   
     
     
         13 . The method according to  claim 12  further comprising receiving a single list of enumerated sources of shared content for the local and virtual client surfaces based on the executed portion of the real-time media application. 
     
     
         14 . The method according to  claim 13  wherein the sources of shared content comprise at least one of applications and their windows, monitors and desktops. 
     
     
         15 . The method according to  claim 12  further comprising displaying a user prompt for a user of the client computing device to confirm that the local and virtual client surfaces are to be shared based on the executed portion of the real-time media application. 
     
     
         16 . The method according to  claim 12  wherein the virtual client surface comprises a plurality of overlapping windows, and if one of the overlapping windows is selected to be shared with the second client computing device, then pixels of the selected window are obtained from the virtual desktop server. 
     
     
         17 . The method according to  claim 12  wherein if a whole virtual desktop of the virtual desktop server is to be shared, then pixels of the virtual desktop are captured by the client computing device are to be delivered to the second client computing device. 
     
     
         18 . The method according to  claim 12  wherein the virtual client surface comprises at least one window that is to be shared with the second client computing device, with pixels of the shared window to be provided by the virtual desktop server to the second client computing device. 
     
     
         19 . The method according to  claim 12  wherein the redirected portion of the real-time media application corresponds to real-time media processing being off-loaded to the client computing device. 
     
     
         20 . A non-transitory computer readable medium for operating a client computing device, 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:
 communicating with a virtual desktop server that includes a real-time media application to provide real time communications (RTC);   receiving from the virtual desktop server redirected APIs of the real-time media application based on redirection code injected into a portion of the real-time media application, with the injected code enumerating a local client surface and a virtual client surface;   executing the redirected portion of the real-time media application;   displaying the local client surface and the virtual client surface; and   sharing the local client surface and the virtual client surface with a second client computing device based on the intercepted APIs enumerating the local and virtual client surfaces.

Join the waitlist — get patent alerts

Track US2021152630A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.