IP Library Granted Patent US 10,148,985
Granted Patent B2
US 10,148,985 · App. 15/347,218 · Granted Dec 4, 2018

Digital transport adapter

Inventors: Michael Sallas (Radnor, PA); David DeAndrade (San Anselmo, CA); Christopher Stone (Newtown, PA)
Assignee: Comcast Cable Communications, LLC
H04N21/2385G06F17/30914H04N21/2393H04N21/8456H04N21/858G06F17/30855
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,148,985
App. No.
15/347,218
Granted
Dec 4, 2018
Kind
B2
Abstract

One or more computing devices may be configured to identify information corresponding to a program change request associated with a multi-program data transmission. The information may comprise at least a link to a desired program within the multi-program data transmission. The one or more computing devices may communicate the link to the desired program to a client device over a specified time period. After the time period, the one or more computing devices may communicate the desired program to the client device using a single program data transmission. The single program data transmission may be derived from the multi-program data transmission.

Claims (59)

1. A method comprising:

receiving, by a computing device, a multi-program data stream comprising a plurality of programs;

after receiving, from a client device, a request for a new program, replacing a first association table from the multi-program data stream with a second association table comprising information indicative of assets associated with the new program;

transmitting, by the computing device and to the client device, a single-program data stream comprising the second association table and the assets associated with the new program;

determining a period of time for which the client device is to use the second association table; and

based on determining that the period of time has elapsed, replacing the second association table with the first association table in the single-program data stream.

2. The method of claim 1 , further comprising:

removing, based on the request for the new program, one or more portions of the multi-program data stream to create the single-program data stream.

3. The method of claim 1 , wherein the replacing the first association table from the multi-program data stream further comprises:

replacing, with null data, one or more different assets associated with one or more programs of the plurality of programs other than the new program.

4. The method of claim 1 , further comprising:

prior to the transmitting the single-program data stream, transmitting, by the computing device and to the client device, a null data stream comprising the second association table.

5. The method of claim 1 , wherein the replacing the second association table with the first association table in the single-program data stream further comprises:

generating, based on the request for the new program and on a first program mapping table from the multi-program data stream, a second program mapping table; and

replacing the first program mapping table in the single-program data stream with the second program mapping table.

6. The method of claim 1 , wherein the replacing the second association table with the first association table in the single-program data stream further comprises:

locating the second association table in a position within the single-program data stream equivalent to a position of the first association table within the multi-program data stream.

7. The method of claim 1 , further comprising:

assigning, to the second association table, a version number greater than or equal to a version number of the first association table.

8. The method of claim 1 , further comprising:

monitoring, by the computing device, the multi-program data stream for a change in a version number of the first association table; and

based on a detection of the change in the version number, updating the second association table.

9. The method of claim 1 , wherein the determining the period of time for which the client device is to use the second association table comprises:

determining, by the computing device and based on an average transport time, a period of time required by the client device to process the second association table.

10. The method of claim 1 , further comprising:

generating, by the computing device, a content protection descriptor for the new program; and

transmitting, to the client device and via the single-program data stream, the content protection descriptor.

11. An apparatus comprising:

one or more processors; and

memory storing computer executable instructions that, when executed by the one or more processors, cause the apparatus to:

receive a multi-program data stream comprising a plurality of programs;

after receiving, from a client device, a request for a new program, replace a first association table from the multi-program data stream with a second association table comprising information indicative of assets associated with the new program;

transmit, to the client device, a single-program data stream comprising the second association table and the assets associated with the new program;

determine a period of time for which the client device is to use the second association table; and

based on determining that the period of time has elapsed, replace the second association table with the first association table in the single-program data stream.

12. The apparatus of claim 11 , wherein the memory further stores computer executable instructions that, when executed by the one or more processors, further cause the apparatus to:

remove, based on the request for the new program, one or more portions of the multi-program data stream to create the single-program data stream.

13. The apparatus of claim 11 , wherein the memory further stores computer executable instructions that, when executed by the one or more processors, further cause the apparatus to:

prior to transmitting the single-program data stream, transmit, to the client device, a null data stream comprising the second association table.

14. The apparatus of claim 11 , wherein replacing the second association table with the first association table in the single-program data stream further comprises:

generating, based on the request for the new program and on a first program mapping table from the multi-program data stream, a second program mapping table; and

replacing the first program mapping table in the single-program data stream with the second program mapping table.

15. The apparatus of claim 11 , wherein the memory further stores computer executable instructions that, when executed by the one or more processors, further cause the apparatus to:

assign, to the second association table, a version number greater than or equal to a version number of the first association table.

16. One or more non-transitory, computer readable storage media comprising computer executable instructions that, when executed by a computing device, cause the computing device to:

receive a multi-program data stream comprising a plurality of programs;

after receiving, from a client device, a request for a new program, replace a first association table from the multi-program data stream with a second association table comprising information indicative of assets associated with the new program;

transmit, to the client device, a single-program data stream comprising the second association table and the assets associated with the new program;

determine a period of time for which the client device is to use the second association table; and

based on determining that the period of time has elapsed, replace the second association table with the first association table in the single-program data stream.

17. The one or more non-transitory, computer readable storage media of claim 16 , further comprising computer executable instructions that, when executed by the computing device, further cause the computing device to:

remove, based on the request for the new program, one or more portions of the multi-program data stream to create the single-program data stream.

18. The one or more non-transitory, computer readable storage media of claim 16 , further comprising computer executable instructions that, when executed by the computing device, further cause the computing device to:

prior to transmitting the single-program data stream, transmit, to the client device, a null data stream comprising the second association table.

19. The one or more non-transitory, computer readable storage media of claim 16 , wherein replacing the second association table with the first association table in the single-program data stream further comprises:

generating, based on the request for the new program and on a first program mapping table from the multi-program data stream, a second program mapping table; and

replacing the first program mapping table in the single-program data stream with the second program mapping table.

20. The one or more non-transitory, computer readable storage media of claim 16 , further comprising computer executable instructions that, when executed by the computing device, further cause the computing device to:

assign, to the second association table, a version number greater than or equal to a version number of the first association table.

Assignments (6)
CHANGE OF NAME Recorded Mar 31, 2026
From: ADEIA MEDIA HOLDINGS LLC
To: ADEIA MEDIA HOLDINGS INC.
Reel/Frame 075303/0980 →
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO CORPORATION
To: TIVO LLC
Reel/Frame 069083/0240 →
CHANGE OF NAME Recorded Oct 1, 2024
From: TIVO LLC
To: ADEIA MEDIA HOLDINGS LLC
Reel/Frame 069083/0318 →
SECURITY INTEREST Recorded May 3, 2023
From: ADEIA GUIDES INC.; ADEIA IMAGING LLC; ADEIA MEDIA HOLDINGS LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA SOLUTIONS LLC
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 063529/0272 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2020
From: COMCAST CABLE COMMUNICATIONS, LLC
To: TIVO CORPORATION
Reel/Frame 054588/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 5, 2018
From: SALLAS, MICHAEL; DE ANDRADE, DAVID; STONE, CHRISTOPHER
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 046272/0559 →
Continuity (2)
Continuation 14284978 · May 22, 2014
Related Publication 20170251233A1 · Aug 31, 2017
Cited By (1)
US 12,695,958