IP Library Granted Patent US 11,190,842
Granted Patent B2
US 11,190,842 · App. 16/700,608 · Granted Nov 30, 2021

USB-based media device upgrading system

Inventors: Prateek Tandon (San Jose, CA); Cameron Esfahani (Austin, TX); David Stern (Los Gatos, CA); Robin Edgell (Cedar Park, TX)
Assignee: ROKU, INC.
H04N21/4586G06F13/4282H04N21/431H04N21/443H04N21/4532G06F2213/0042
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 11,190,842
App. No.
16/700,608
Granted
Nov 30, 2021
Kind
B2
Abstract

Disclosed herein are system, method, and computer program product embodiments for a USB-based media device upgrading system. An embodiment operates by receiving a fetch command from a first instance of an application executing locally on a host device physically connected to media device. The fetch command is provided to a media device executing a second instance of the application. At the host device, metadata corresponding to the file that was retrieved by the media device is received. A rendering command is determined from the first instance of the application corresponding to displaying the interface including the fetched file as indicated by the metadata. The rendering command is provided to the media device that is configured to display the interface of the application responsive to executing the rendering command.

Claims (47)

1. A computer-implemented method, comprising:

receiving a fetch command from a first instance of an application executing locally on a host device physically connected to a media device through a USB port of the media device, wherein the fetch command indicates a file to be retrieved from a network-accessible computing device;

providing, to the media device executing a second instance of the application, the fetch command to fetch the file associated with displaying an interface of the application on the media device;

receiving, at the host device, metadata corresponding to the file that was retrieved by the media device responsive to an execution of the fetch command by the media device;

determining a rendering command corresponding to the interface, wherein the rendering command includes a draw command received from the first instance of the application and the metadata; and

providing the rendering command to the media device, wherein the media device is configured to display the interface responsive to executing the rendering command, and wherein the interface includes the fetched file.

2. The method of claim 1 , further comprising:

determining a version number of the second instance of the application prior to an instantiation of the first instance of the application; and

executing the first instance of the application with a version number corresponding to the version number of the second instance of the application, wherein the host device is configured to execute multiple different versions of the application simultaneously.

3. The method of claim 1 , further comprising:

receiving, from the media device user, account information regarding a user account associated with the second instance of the application; and

executing the first instance of the application using the account information.

4. The method of claim 1 , wherein the fetch command identifies streaming video content to be retrieved by the media device from one or more servers.

5. The method of claim 4 , wherein the streaming video content is received by the media device and processed by the second instance of the application.

6. The method of claim 5 , further comprising:

receiving, at the host device, input from a remote control configured to operate the second instance of the application at the media device during a playback of the streaming video content by the media device.

7. The method of claim 1 , wherein upon detecting a selection to execute the second instance of the application, firmware of the media device redirects commands to the first instance of the application.

8. A media device system, comprising:

a memory; and

at least one processor coupled to the memory and configured to perform operations comprising:

receiving a fetch command from a first instance of an application executing locally on a host device physically connected to a media device through a USB port of the media device, wherein the fetch command indicates a file to be retrieved from a network-accessible computing device;

providing, to the media device executing a second instance of the application, the fetch command to fetch the file associated with displaying an interface of the application on the media device;

receiving, at the host device, metadata corresponding to the file that was retrieved by the media device responsive to an execution of the fetch command by the media device;

determining a rendering command corresponding to the interface, wherein the rendering command includes a draw command received from the first instance of the application and the metadata; and

providing the rendering command to the media device, wherein the media device is configured to display the interface responsive to executing the rendering command, and wherein the interface includes the fetched file.

9. The system of claim 8 , the operations further comprising:

determining a version number of the second instance of the application prior to an instantiation of the first instance of the application; and

executing the first instance of the application with a version number corresponding to the version number of the second instance of the application, wherein the host device is configured to execute multiple different versions of the application simultaneously.

10. The system of claim 8 , the operations further comprising:

receiving, from a media device user, account information regarding a user account associated with the second instance of the application; and

executing the first instance of the application using the account information.

11. The system of claim 8 , wherein the fetch command identifies streaming video content to be retrieved by the media device from one or more servers.

12. The system of claim 11 , wherein the streaming video content is received by the media device and processed by the second instance of the application.

13. The system of claim 12 , the operations further comprising:

receiving, at the host device, input from a remote control configured to operate the second instance of the application at the media device during a playback of the streaming video content by the media device.

14. The system of claim 8 , wherein upon detecting a selection to execute the second instance of the application, firmware of the media device redirects commands to the first instance of the application.

15. A non-transitory computer-readable medium having instructions stored thereon that, when executed by at least one computing device, cause the at least one computing device to perform operations comprising:

receiving a fetch command from a first instance of an application executing locally on a host device physically connected to a media device through a USB port of the media device, wherein the fetch command indicates a file to be retrieved from a network-accessible computing device;

providing, to the media device executing a second instance of the application, the fetch command to fetch the file associated with displaying an interface of the application on the media device;

receiving, at the host device, metadata corresponding to the file that was retrieved by the media device responsive to an execution of the fetch command by the media device;

determining a rendering command corresponding to the interface, wherein the rendering command includes a draw command received from the first instance of the application and the metadata; and

providing the rendering command to the media device, wherein the media device is configured to display the interface responsive to executing the rendering command, and wherein the interface includes the fetched file.

16. The non-transitory computer-readable medium of claim 15 , wherein the fetch command identifies streaming video content to be retrieved by the media device from one or more servers.

17. The non-transitory computer-readable medium of claim 16 , wherein the streaming video content is received by the media device and processed by the second instance of the application.

18. The method of claim 1 , wherein the media device comprises a television including the USB port, wherein the host device comprises an upgrader device that is configured to plug into the USB port, and wherein the application is a streaming media application.

19. The method of claim 1 , wherein the media device comprises wireless network access capabilities, not included on the host device, used to retrieve the file indicated by the fetch command.

20. The method of claim 1 , wherein the host device is configured to receive power from the media device through the USB port.

Assignments (2)
SECURITY INTEREST Recorded Sep 18, 2024
From: ROKU, INC.
To: CITIBANK, N.A.
Reel/Frame 068982/0377 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 9, 2021
From: TANDON, PRATEEK; ESFAHANI, CAMERON; STERN, DAVID; EDGELL, ROBIN
To: ROKU, INC.
Reel/Frame 055528/0593 →
Continuity (4)
Continuation In Part 16357740 · Mar 19, 2019
Provisional Application 62646994 · Mar 23, 2018
Provisional Application 62900913 · Sep 16, 2019
Related Publication 20200107073A1 · Apr 2, 2020
Cited By (2)
US 12,200,302 US 12,401,852