IP Library Granted Patent US 11,336,942
Granted Patent B2
US 11,336,942 · App. 16/726,085 · Granted May 17, 2022

Methods and systems for management of a processing offloader

Inventors: Manuel Novoa, III (Highlands Ranch, CO); Kan Man Wong (Highlands Ranch, CO); Vishal Neeralike (Lone Tree, CO); Shiqiang Chu (Highlands Ranch, CO); Aram Semerjyan (Aurora, CO); Anthony Bond (Arvada, CO); Michael Song (Aurora, CO); Anthony Kallas (Aurora, CO); Derick Wong (Aurora, CO)
Assignee: DISH Network L.L.C.
H04N21/2662H04N21/222H04N21/233H04N21/234H04N21/2402H04N21/431H04N21/436H04N21/439H04N21/4312H04N21/44H04N21/443H04N21/44227H04N21/44245H04N21/4516H04N21/6193
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,336,942
App. No.
16/726,085
Granted
May 17, 2022
Kind
B2
Abstract

Introduced here are systems to manage and discover a processing offloader. A first multimedia device may identify a processing offloader in a networked environment. A first multimedia device may determine that a bandwidth of a second multimedia device in the networked environment falls below a threshold bandwidth, indicating that the second multimedia device may process instructions and render multimedia information with increased latency or delay. Based on this determination, the first multimedia device may forward instructions from the second multimedia device to the processing offloader for the processing offloader to process and render multimedia information on behalf of the second multimedia device based on the received instructions. The first multimedia device may forward rendered multimedia information from the processing offloader to the second multimedia device, and the second multimedia device may output the rendered multimedia information to an output device.

Claims (61)

1. A method performed by a first multimedia device for managing a processing offloader, the method comprising:

receiving an input from a second multimedia device and an input from a third multimedia device, wherein each input represents a request for the processing offloader to process user interface graphics rendering instructions on behalf of the second multimedia device or the third multimedia device, and wherein the processing offloader is configured to process the user interface graphics rendering instructions;

forwarding user interface graphics rendering instructions from the second multimedia device to the processing offloader based on prioritizing the input from the second multimedia device, wherein prioritizing includes:

identifying a processing bandwidth of the second multimedia device and the third multimedia device; and

determining, by a processor, that the processing bandwidth of the second multimedia device is less than the processing bandwidth of the third multimedia device;

transmitting a request for the second multimedia device to disable a native UI executing on the second multimedia device and enable a proxy; and

forwarding rendered user interface graphics received from the processing offloader to the second multimedia device.

2. The method of claim 1 , further comprising:

determining, by the processor, a processing bandwidth of the processing offloader;

comparing the processing bandwidth of the processing offloader with a maximum processing bandwidth of the processing offloader to determine an available processing bandwidth of the processing offloader, wherein said forwarding instructions from the second multimedia device to the processing offloader is based on the available processing bandwidth of the processing offloader exceeding a threshold processing offloader bandwidth.

3. The method of claim 2 , further comprising:

comparing the processing bandwidth of the second multimedia device with a maximum processing bandwidth of the second multimedia device to determine an available processing bandwidth of the second multimedia device, wherein the available processing bandwidth of the second multimedia device indicates an available processing resources for the second multimedia device,

wherein said forwarding instructions from the second multimedia device to the processing offloader is based on the available processing bandwidth of the second multimedia device being less than the available processing bandwidth of the processing offloader.

4. The method of claim 1 , wherein said prioritizing further comprises:

comparing the processing bandwidth of the second multimedia device and a maximum processing bandwidth of the second multimedia device to determine a processing bandwidth differential of the second multimedia device;

comparing the processing bandwidth of the third multimedia device and a maximum processing bandwidth of the third multimedia device to determine a processing bandwidth differential of the third multimedia device; and

determining that the processing bandwidth differential of the second multimedia device is less than the processing bandwidth differential of the third multimedia device indicating that available processing resources of the second multimedia device are less than available processing resources of the third multimedia device.

5. The method of claim 1 , wherein the first multimedia device communicates the second multimedia device via a coaxial interconnect, and wherein the first multimedia device communicates with the processing offloader via a universal serial bus interconnect.

6. The method of claim 1 , wherein the proxy executing on the second multimedia device is configured to render UI graphics to an output device based on receiving the rendered multimedia.

7. The method of claim 1 , further comprising:

determining, by the processor, an updated processing bandwidth of the processing offloader based on transmitting instructions from the second multimedia device to the processing offloader; and

forwarding instructions from the third multimedia device to the processing offloader based on a differential between the updated processing bandwidth of the processing offloader and a maximum processing bandwidth of the processing offloader exceeding a threshold processing offloader bandwidth.

8. The method of claim 7 , wherein said forwarding instructions from the second multimedia device to the processing offloader further includes a request for the processing offloader to enable a first UI configured to process instructions and render rendered multimedia based on the instructions received from the second multimedia device, and

wherein said forwarding instructions from the third multimedia device to the processing offloader further includes a request for the processing offloader to enable a second UI configured to process instructions and render rendered multimedia based on the instructions received from the third multimedia device.

9. The method of claim 1 , further comprising:

determining, by the processor, an updated processing bandwidth of the processing offloader based on transmitting instructions from the second multimedia device to the processing offloader; and

transmitting a third input to the third multimedia device indicating a request for the third multimedia device to process instructions via a native UI executing on the third multimedia device based on a differential between the updated processing bandwidth of the processing offloader and a maximum processing bandwidth of the processing offloader falling below a threshold processing offloader bandwidth.

10. A computing device, comprising:

a memory that includes instructions for managing a processing offloader,

wherein the instructions, when executed by a processor, cause the processor to:

receive a first input from a first multimedia device representing a request for a processing offloader to process instructions, including user interface (UI) graphics rendering instructions, on behalf of the first multimedia device;

identify an available processing bandwidth of the processing offloader and an available processing bandwidth of the first multimedia device;

determine that the available processing bandwidth of the first multimedia device is less than the available processing bandwidth of the processing offloader;

forward instructions from the first multimedia device to the processing offloader based on determining the available processing bandwidth of the first multimedia device is less than the available processing bandwidth of the processing offloader;

transmitting a request for the first multimedia device to disable a native UI executing on the first multimedia device and enable a proxy; and

forward rendered multimedia UI graphics received from the processing offloader to the first multimedia device.

11. The computing device of claim 10 , further causing the processor to:

receive an input from a second multimedia device;

compare the available processing bandwidth of the first multimedia device and a maximum processing bandwidth of the first multimedia device to determine a processing bandwidth differential of the first multimedia device;

compare an available processing bandwidth of the second multimedia device and a maximum processing bandwidth of the second multimedia device to determine a processing bandwidth differential of the second multimedia device; and

determine that the processing bandwidth differential of the first multimedia device is less than the processing bandwidth differential of the second multimedia device indicating that available processing resources of the first multimedia device is less than available processing resources of the second multimedia device.

12. The computing device of claim 10 ,

wherein the proxy is configured to output rendered multimedia to an output device upon receiving the rendered multimedia.

13. The computing device of claim 10 , further causing the processor to:

determine an updated processing bandwidth of the processing offloader indicating available processing resources of the processing offloader upon receipt of instructions from the first multimedia device;

compare the updated processing bandwidth of the processing offloader with a maximum processing bandwidth of the processing offloader;

forward instructions from a second multimedia device to the processing offloader based on a differential between the updated bandwidth of the processing offloader and the maximum processing bandwidth of the processing offloader exceeding a threshold processing offloader bandwidth.

14. The computing device of claim 13 , wherein said forward instructions from the first multimedia device to the processing offloader further includes a request to enable a first UI at the processing offloader to process instructions and render rendered multimedia based on the received instructions from the first multimedia device, and

wherein said forward instructions from the second multimedia device to the processing offloader further includes a request for the processing offloader to enable a second UI configured to process instructions and render rendered multimedia based on the received instructions from the second multimedia device.

15. A method performed by a first multimedia device for managing a processing offloader, the method comprising:

receiving an input from a second multimedia device, the input representing a request for the processing offloader to process instructions on behalf of the second multimedia device;

identifying a processing bandwidth of the first multimedia device and the second multimedia device, wherein the processing bandwidth indicates available processing resources of the first multimedia device and the second multimedia device;

determining, by a processor, that the processing bandwidth of the first multimedia device exceeds the processing bandwidth of the second multimedia device;

forwarding user interface graphics rendering instructions received from a satellite from the second multimedia device to the processing offloader based on determining that the processing bandwidth of the first multimedia device exceeds the processing bandwidth of the second multimedia device, wherein the processing offloader is configured to process the user interface graphics rendering instructions;

transmitting a request for the second multimedia device to disable a native UI executing on the second multimedia device and enable a proxy; and

forwarding rendered user interface graphics received from the processing offloader to the second multimedia device.

16. The method of claim 15 , further comprising:

determining an updated processing bandwidth of the processing offloader indicating available processing resources of the processing offloader upon receipt of instructions from the second multimedia device;

forwarding instructions from the first multimedia device to the processing offloader based on a differential between the updated processing bandwidth of the processing offloader and a maximum processing bandwidth of the processing offloader exceeding a threshold processing offloader bandwidth.

17. The method of claim 16 , wherein said proxy is configured to receive rendered multimedia and output UI graphics based on the rendered multimedia received from the second multimedia device, and

wherein said forwarding instructions from the first multimedia device to the processing offloader includes a request to disable a native UI on the first multimedia device and enable a proxy configured to receive rendered multimedia and output UI graphics based on the rendered multimedia received from the first multimedia device.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 22, 2024
From: NOVOA, MANUEL, III
To: DISH NETWORK L.L.C.
Reel/Frame 068975/0141 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 15, 2022
From: WONG, KAN MAN; NEERALIKE, VISHAL; CHU, SHIQIANG; SEMERJYAN, ARAM; BOND, ANTHONY; SONG, MICHAEL; KALLAS, ANTHONG; WONG, DERICK
To: DISH NETWORK L.L.C.
Reel/Frame 059614/0051 →
SECURITY INTEREST Recorded Nov 30, 2021
From: DISH BROADCASTING CORPORATION; DISH NETWORK L.L.C.; DISH TECHNOLOGIES L.L.C.
To: U.S. BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 058295/0293 →