IP Library Granted Patent US 10,044,788
Granted Patent B2
US 10,044,788 · App. 14/944,045 · Granted Aug 7, 2018

Native client multimedia redirection

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,044,788
App. No.
14/944,045
Granted
Aug 7, 2018
Kind
B2
Abstract

A Native Client-based remote display client can efficiently perform multimedia redirection by routing un-rendered multimedia content to browser code executing outside the sandbox in which the remote display client is executed. In this way, a remote display client implemented as a Native Client module will not be limited to using the APIs available within the sandbox to render the multimedia content. The Native Client module can communicate with the browser code to provide parameters necessary for the browser code to submit a web-based request to the Native Client module via localhost to thereby obtain the multimedia content via one or more web-based communications.

Claims (41)

1. A method, performed by a remote display client that includes a Native Client module that is executed within a browser within a sandbox and browser code that is executed outside the sandbox, for redirecting un-rendered multimedia content from the Native Client module for rendering outside the sandbox, the method comprising:

obtaining, by the Native Client module, un-rendered multimedia content and causing the un-rendered multimedia content to be accessible via a web-based request;

communicating, by the Native Client module and to the browser code, parameters for generating a web-based request to access the un-rendered multimedia content;

based on the parameters, generating, by the browser code, browser instructions that when executed cause the web-based request to be sent to the Native Client module;

in response to receiving the web-based request, sending, by the Native Client module, the un-rendered multimedia content via a web-based communication pathway thereby causing the un-rendered multimedia content to be rendered by the browser outside the sandbox.

2. The method of claim 1 , wherein the un-rendered multimedia content is obtained via a virtual channel that the established between the Native Client module and a remote display server.

3. The method of claim 1 , wherein causing the un-rendered multimedia content to be accessible via a web-based request comprises causing a service of the Native Client module to listen for web-based requests on a local port.

4. The method of claim 3 , wherein the service is also configured to function as an endpoint of a virtual channel over which the un-rendered multimedia content is received.

5. The method of claim 1 , wherein the parameters comprise one or more of:

a local port on which a service of the Native Client module is listening for web-based requests;

a path to the multimedia content;

a filename of the multimedia content;

a protocol to use to send the web-based request;

one or more dimensions of the multimedia content; or

a type of the multimedia content.

6. The method of claim 1 , wherein communicating parameters comprises the Native Client module sending one or more messages containing the parameters to a JavaScript component of the browser code using a Native Client messaging system.

7. The method of claim 1 , wherein generating browser instructions comprises generating Hypertext Markup Language (HTML) code that includes a video element having a source attribute or source element that defines a uniform resource locator (URL) generated based on the parameters.

8. The method of claim 7 , wherein the URL includes a local port that was included in the parameters.

9. The method of claim 8 , wherein the URL includes localhost.

10. The method of claim 9 , wherein the URL includes a filename of the multimedia content that was included in the parameters.

11. The method of claim 10 , wherein the URL includes one or more dimensions of the multimedia content that was included in the parameters.

12. The method of claim 7 , wherein the video element is included within an iframe element.

13. The method of claim 1 , wherein the browser instructions define a nested browsing context.

14. One or more computer storage media storing computer executable instructions defining a remote display client that includes a Native Client module that is configured to be executed by a browser within a sandbox and browser code that is configured to be executed by the browser outside the sandbox, the remote display client when executed within the browser being configured to perform a method for redirecting multimedia content from the Native Client module to the browser code to allow the browser code to render the multimedia content outside the sandbox, the method comprising:

establishing, by the Native Client module, a virtual channel with a remote display server;

receiving, by a service of the Native Client module, un-rendered multimedia content over the virtual channel;

listening, by the service and on a local port, for web-based requests for the un-rendered multimedia content;

communicating, by the service and to the browser code, parameters for constructing a web-based request to obtain the un-rendered multimedia content;

based on the parameters, generating, by the browser code, a Hypertext Markup Language (HTML) element that when executed will cause the web-based request to be sent to the local port on which the service is listening; and

in response to receiving the web-based request via the local port, sending, by the service, the un-rendered multimedia content in one or more web-based communications thereby causing the un-rendered multimedia content to be rendered by the browser outside the sandbox in accordance with the conventions of the HTML element.

15. The computer storage media of claim 14 , wherein the HTML element is a video element.

16. The computer storage media of claim 15 , wherein the video element is generated within a nested browsing context.

17. The computer storage media of claim 14 , wherein the parameters include the local port and a path to the multimedia content.

18. The computer storage media of claim 14 , wherein the web-based request is a Hypertext Transfer Protocol (HTTP) request.

19. A method, performed by a remote display client that includes a Native Client module that is executed by a browser within a sandbox and browser code that is executed by the browser outside the sandbox, for redirecting multimedia content from the Native Client module to the browser code to allow the browser code to render the multimedia content outside the sandbox, the method comprising:

obtaining, by the Native Client module, un-rendered multimedia content;

listening, by the Native Client module and on a local port, for web-based requests for the un-rendered multimedia content;

communicating, by the Native Client module and to the browser code, the local port and a path the multimedia content;

generating, by the browser code, additional browser code that defines a uniform resource locator (URL) that includes localhost, the local port and the path, and that when executed causes a web-based request to be sent to the URL;

in response to receiving the web-based request, sending, by the Native Client module, the un-rendered multimedia content via one or more web-based communications thereby causing the browser to render the multimedia content outside the sandbox.

20. The method of claim 19 , wherein the additional browser code comprises a Hypertext Markup Language (HTML) video element that is included within an iframe element.

Assignments (15)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
MERGER Recorded May 9, 2022
From: WYSE TECHNOLOGY L.L.C.
To: DELL MARKETING CORPORATION
Reel/Frame 059912/0109 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
RELEASE OF REEL 037848 FRAME 0001 (TL) Recorded Sep 14, 2016
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040028/0152 →
RELEASE OF REEL 037848 FRAME 0210 (NOTE) Recorded Sep 14, 2016
From: BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040031/0725 →
RELEASE OF REEL 037847 FRAME 0843 (ABL) Recorded Sep 13, 2016
From: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
To: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
Reel/Frame 040017/0366 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (TERM LOAN) Recorded Feb 18, 2016
From: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037848/0001 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (NOTES) Recorded Feb 18, 2016
From: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 037848/0210 →
SUPPLEMENT TO PATENT SECURITY AGREEMENT (ABL) Recorded Feb 18, 2016
From: DELL SOFTWARE INC.; DELL PRODUCTS L.P.; WYSE TECHNOLOGY L.L.C.
To: BANK OF AMERICA, N.A., AS ADMINISTRATIVE AGENT
Reel/Frame 037847/0843 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2015
From: FAUSAK, ANDREW; ROMBAKH, OLEG
To: WYSE TECHNOLOGY L.L.C.
Reel/Frame 037076/0242 →