IP Library Granted Patent US 11,445,229
Granted Patent B2
US 11,445,229 · App. 16/697,073 · Granted Sep 13, 2022

Managing deep and shallow buffers in a thin-client device of a digital media distribution network

Inventors: Bert Visscher (Hilversum, NL); Gerrit Hiddink (Amersfoort, NL); Maarten Hoeben (Amersfoort, NL)
Assignee: Active Video Networks, Inc.
H04N21/23892H04N21/234H04N21/23406H04N21/23614H04N21/234309H04N21/4316H04N21/44H04N21/44004H04N21/4622H04N21/4821H04N21/637H04N21/8455
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,445,229
App. No.
16/697,073
Granted
Sep 13, 2022
Kind
B2
Abstract

A client device receives, from a server, first content directed to a first buffer in the client device and second content directed to a second buffer in the client device. The client device buffers the first content in the first buffer and buffers the second content in the second buffer. At least a portion of the second content is buffered in the second buffer substantially simultaneously with buffering the first content in the first buffer. The client device receives a command from a virtual set-top application, running on the server, that corresponds to the client device. The client device runs a virtual set-top local client that receives the command from the virtual set-top application and selects the first buffer as a content source. The selecting is performed in accordance with the command. The client device provides the selected content for display.

Claims (47)

1. A method, comprising, at a client device:

receiving, from a server, first content that includes one or more user-interface elements directed to a first buffer in the client device;

receiving, from the server, second content that includes video content directed to a second buffer in the client device;

buffering the first content in the first buffer;

buffering the second content in the second buffer, wherein at least a portion of the second content is buffered in the second buffer substantially simultaneously with buffering the first content in the first buffer;

running a virtual set-top local client that receives commands from a virtual set-top application, wherein the virtual set-top application controls assembly of content from the first and second buffers for the client device;

receiving, at the virtual set-top local client, a command to insert one or more user-interface elements, from the first buffer, between one or more frames that are stored in the second buffer, from the virtual set-top application, running on the server, that corresponds to the client device; and

selecting, by the virtual set-top local client, the first buffer as a content source, wherein the selecting is performed in accordance with the command received from the virtual set-top application; and

providing the selected content for display.

2. The method of claim 1 , wherein the one or more user-interface elements are directed to the first buffer in the client device in accordance with a determination by the virtual set-top application that the one or more user-interface elements satisfy a first size threshold.

3. The method of claim 1 , wherein the video content is directed to the second buffer in the client device in accordance with a determination by the virtual set-top application that the video content satisfies a second size threshold.

4. The method of claim 1 , wherein the first buffer and the second buffer comprise distinct first-in, first-out (FIFO) queues.

5. The method of claim 1 , wherein a depth of the second buffer is at least ten times greater than a depth of the first buffer.

6. The method of claim 1 , wherein the selecting comprises multiplexing outputs of the first and second buffers using a buffer selector.

7. The method of claim 1 , wherein:

the first content comprises a still-frame user-interface element; and

the second content comprises multi-frame video.

8. The method of claim 7 , further comprising, at the client device:

receiving a user input corresponding to the still-frame user-interface element; and

in response to receiving the user input, sending a second command to the server requesting the still-frame user-interface element; wherein:

the still-frame user-interface element is received from the server in response to the second command; and

the selecting the first buffer as the content source comprises selecting the first buffer as a content source when the still-frame user-interface element is available in the first buffer.

9. The method of claim 7 , wherein the still-frame user-interface element comprises a menu-item graphic.

10. The method of claim 1 , wherein:

receiving the second content comprises receiving a damaged packet;

buffering the second content comprises buffering the damaged packet in the second buffer;

receiving an undamaged replacement packet for the damaged packet;

buffering the undamaged replacement packet in the first buffer; and

the method further comprises swapping out the damaged packet with the undamaged replacement packet when the damaged packet emerges from the second buffer.

11. A client device, comprising:

one or more processors; and

memory storing one or more programs for execution by the one or more processors, the one or more programs including instructions for:

receiving, from a server, first content that includes one or more user-interface elements directed to a first buffer in the client device;

receiving, from the server, second content that includes video content directed to a second buffer in the client device; buffering the first content in the first buffer;

buffering the second content in the second buffer, wherein at least a portion of the second content is buffered in the second buffer substantially simultaneously with buffering the first content in the first buffer;

running a virtual set-top local client that receives commands from a virtual set-top application, wherein the virtual set-top application controls assembly of content from the first and second buffers for the client device;

receiving, at the virtual set-top local client, a command to insert one or more user-interface elements, from the first buffer, between one or more frames that are stored in the second buffer, from the virtual set-top application, running on the server, that corresponds to the client device; and

selecting, by the virtual set-top local client, the first buffer as a content source, wherein the selecting is performed in accordance with the command received from the virtual set-top application; and

providing the selected content for display.

12. A non-transitory computer-readable storage medium, storing one or more programs configured for execution by one or more processors of a client device, the one or more programs including instructions for:

receiving, from a server, first content that includes one or more user-interface elements directed to a first buffer in the client device;

receiving, from the server, second content that includes video content directed to a second buffer in the client device; buffering the first content in the first buffer;

buffering the second content in the second buffer, wherein at least a portion of the second content is buffered in the second buffer substantially simultaneously with buffering the first content in the first buffer;

running a virtual set-top local client that receives commands from a virtual set-top application, wherein the virtual set-top application controls assembly of content from the first and second buffers for the client device;

receiving, at the virtual set-top local client, a command to insert one or more user-interface elements, from the first buffer, between one or more frames that are stored in the second buffer, from the virtual set-top application, running on the server, that corresponds to the client device; and

selecting, by the virtual set-top local client, the first buffer as a content source, wherein the selecting is performed in accordance with the command received from the virtual set-top application; and

providing the selected content for display.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2026
From: ACTIVEVIDEO NETWORKS, LLC
To: CCH I HOLDINGS, LLC
Reel/Frame 074039/0804 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2026
From: CCH I HOLDINGS, LLC
To: CHARTER COMMUNICATIONS OPERATING LLC
Reel/Frame 074039/0913 →
CONFIRMATORY ASSIGNMENT Recorded Mar 26, 2024
From: VISSCHER, BERT; HIDDINK, GERRIT WILLEM; HOEBEN, MAARTEN
To: ACTIVEVIDEO NETWORKS, LLC
Reel/Frame 066910/0732 →
Continuity (5)
Continuation 15368527 · Dec 2, 2016
Continuation In Part 14757935 · Dec 23, 2015
Provisional Application 62263551 · Dec 4, 2015
Provisional Application 62096790 · Dec 24, 2014
Related Publication 20200099969A1 · Mar 26, 2020