IP Library Granted Patent US 10,560,746
Granted Patent B2
US 10,560,746 · App. 16/297,143 · Granted Feb 11, 2020

Methods and systems for generating and providing program guides and content

Inventors: Nicholas A. Grouf (Beverly Hills, CA); Ilya Pozin (Los Angeles, CA); Thomas Sieverding (Los Angeles, CA); Michael Price (St. Petersburg, FL); Lindsey Emerson (Los Angeles, CA); Lynn D. Gabbay (Jacksonville, CA); Thomas V. Ryan (Los Angeles, CA); Audra E. Gold (Los Angeles, CA); Chan V. Hou (Long Beach, CA)
Assignee: Pluto Inc.
H04N21/4532H04N5/445H04N21/23424H04N21/2407H04N21/2665H04N21/26241H04N21/26258H04N21/26283H04N21/435H04N21/4316H04N21/458H04N21/4668H04N21/4788H04N21/47214H04N21/4821H04N21/4825
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,560,746
App. No.
16/297,143
Granted
Feb 11, 2020
Kind
B2
Abstract

Systems and methods for identifying, assembling, and publishing content are described. A content item, such as a video, having a first time length, is identified by a system to be included in a program scheduled for a first time period. The video may be hosted on a third party system. A first span of time within the first program is allocated for the video, wherein the first span of time is longer than the first time length. The system determines, prior to or at the first time period, a time difference between a current length of the video and the first span of time. At least partly in response to determining that the video has a time length shorter than the first span of time, the system selects supplemental content based at least in part of the determined time difference to be streamed to user terminals over a data network within the first time period.

Claims (58)

1. A computer system comprising:

a network interface;

one or more processing devices;

non-transitory machine readable media that stores executable instructions, which, when executed by the one or more processing devices, are configured to cause the one or more processing devices to:

identify a first video item to be included in a first program, wherein the first video item is allocated a first span of time within the first program;

generate an electronic program guide including channels and channel programs, including at least the first program scheduled to begin at a first time and end at a second time, and a second program following the first program, the second program scheduled to begin at a third time and end at a fourth time;

determine a current length of the first video item;

determine whether the first video item has a time length different than the first span of time;

at least partly in response to a determination that the first video item has a time length different than the first span of time:

cause, at least in part, the second program to be streamed via the network interface to a first user terminal, beginning at an adjusted time, the adjusted time different than the third time, the adjusted time based at least in part on the calculated time difference between the current length of the first video item and the first span of time;

cause, at least in part, the second program to begin playing at the scheduled third time on a second user terminal.

2. The method as defined in claim 1 , wherein the current time length of the first video item has a time length longer than the first span of time when played by the first user terminal as a result of buffering delays.

3. The computer system as defined in claim 1 , wherein the first video item is hosted on a third party system, the third party system under separate control from the first system, and the determination of the current length of the first video item utilizes length information accessed from the third party system.

4. The computer system as defined in claim 1 , wherein when the first video item is identified by the first system, the first video item comprises primary content and a first item of ancillary content, the first item of ancillary content having a first item of ancillary content length, and when the determination of whether the first video item has a time length different than the first span of time is performed, the first video item comprises the primary content and a second item of ancillary content and not the first item of ancillary content, the second item of ancillary content having a different time length then the first item of ancillary content length.

5. The computer system as defined in claim 1 , wherein when the first video item is identified by the first system, the first video item comprises primary content, and when the determination of whether the first video item has a time length different than the first span of time is performed, the first video item comprises the primary content and a video advertisement, wherein the video advertisement is streamed from an advertisement server.

6. The computer system as defined in claim 1 , wherein the operations further comprise: cause, at least in part, an instantiation of the electronically program guide displayed on the first user terminal to be dynamically adjusted to reflect the adjusted time, without performing a corresponding dynamic adjustment of an instantiation of the electronic program guide displayed on the second user terminal.

7. A computer system comprising:

a network interface;

one or more processing devices;

non-transitory machine readable media that stores executable instructions, which, when executed by the one or more processing devices, are configured to cause the one or more processing devices to:

identify a first video item to be included in a first program, wherein the first video item is allocated a first span of time within the first program;

generate an electronic program guide including channels and channel programs, including at least the first program scheduled to begin at a first time and end at a second time, and a second program following the first program, the second program scheduled to begin at a third time and end at a fourth time;

provide, via the network interface, the electronic program guide, including at least the first program and the second program, to user terminals;

determine a current length of the first video item;

determine whether the first video item has a time length different than the first span of time;

at least partly in response to a determination that the first video item has a time length different than the first span of time:

compensating, at least in part for the time length different than the first span of time by inhibiting streaming of at least one item of content to the first user terminal.

8. The computer system as defined in claim 7 , wherein compensating, at least in part for the time length different than the first span of time by inhibiting streaming of at least one item of content to the first user terminal further comprises inhibiting streaming of at least item of ancillary content from an ancillary content server to the first user terminal.

9. The computer system as defined in claim 7 , wherein determining, by the first system, the current length of the first video item further comprises accessing length information from a third party system via an application programmer interface (API).

10. A computer-implemented method, the method comprising:

identifying, by a first system comprising computer hardware configured with specific executable instructions, a first video item to be included in a first program;

allocating a first span of time within the first program for the first video item;

generating, by the first system, an electronic program guide listing channels and channel programs, including at least the first program scheduled to begin at a first time and end at a second time, and a second program following the first program, the second program scheduled to begin at a third time and end at a fourth time;

providing the electronic program guide, listing at least the first program and the second program, to a plurality of user terminals;

after providing the electronic program guide, listing at least the first program and the second program, to the plurality of user terminals, determining, by the first system, a current length of the first video item;

calculating, by the first system a time difference between the current length of the first video item and the first span of time;

at least partly in response to determining by the first system that the first video item has a time length different than the first span of time:

causing, at least in part, the second program to be streamed to a first user terminal, beginning at an adjusted time different than the third time, wherein the first user terminal had been playing the first program, and the adjusted time is based at least in part on the calculated time difference between the current length of the first video item and the first span of time;

causing, at least in part, the second program to begin playing at the scheduled third time on a second user terminal, wherein the second user terminal had not been playing the first program prior to playing the first program.

11. The method as defined in claim 10 , wherein the current time length of the first video item has a time length longer than the first span of time when played by the first user terminal as a result of buffering delays.

12. The method as defined in claim 10 , wherein determining by the first system the current length of the first video item further comprises accessing information indicating the current length from a third party system via an application programmer interface (API).

13. The method as defined in claim 10 , wherein when the first video item is identified by the first system, the first video item comprises primary content and a first item of ancillary content, the first item of ancillary content having a first item of ancillary content length, and when determining the time difference between a current length of the first video item and the first span of time, the first video item comprises the primary content and a second item of ancillary content and not the first item of ancillary content, the second item of ancillary content having a different length than the first item of ancillary content length.

14. The method as defined in claim 10 , wherein when the first video item is identified by the first system, the first video item consists of primary content, and when determining the time difference between a current length of the first video item and the first span of time, the first video item comprises the primary content and a video advertisement, wherein the video advertisement is hosted by an advertisement server.

15. The method as defined in claim 10 , wherein a first instantiation of the electronic program guide is displayed by the first user terminal and a second instantiation of the electronic program guide is displayed by the second user terminal, the method further comprising causing the instantiation of the electronically program guide displayed on the first user terminal to be dynamically adjusted to reflect the adjusted time, without performing a corresponding dynamic adjustment of the instantiation of the electronic program guide displayed on the second user terminal.

16. A computer-implemented method, the method comprising:

identifying, by a system comprising computer hardware configured with specific executable instructions, a first video item to be included in a first program, wherein the first video item is allocated a first span of time within the first program;

maintaining, by the system, an electronic program schedule including:

at least the first program scheduled to begin at a first time and end at a second time, and

a second program following the first program, the second program scheduled to begin at a third time and end at a fourth time;

determining, by the system, a current length of the first video item;

determining, by the system a time difference between a current length of the first video item and the allocated first span of time;

at least partly in response to determining by the system that the first video item has a time length different than the first span of time:

causing, at least in part, the second program to begin at an adjusted time on a first user terminal, the adjusted time based at least in part on the time difference between the current length of the first video item and the first span of time;

causing, at least in part, the second program to begin at the originally scheduled third time on a second user terminal.

17. The method as defined in claim 16 , wherein the current time length of the first video item has a time length longer than the first span of time when played by the first user terminal as a result of buffering delays.

18. The method as defined in claim 16 , wherein a first instantiation of the electronic program schedule is displayed by the first user terminal and a second instantiation of the electronic program schedule is displayed by the second user terminal, the method further comprising causing, at least in part, the instantiation of the electronically program schedule displayed on the first user terminal to be dynamically adjusted to reflect the adjusted time, without performing a corresponding dynamic adjustment of the instantiation of the electronic program schedule displayed on the second user terminal.

19. The method as defined in claim 16 , wherein when the first video item is identified by the system, the first video item comprises primary content and a first item of ancillary content, the first item of ancillary content having a first item of ancillary content length, and when determining the time difference between a current length of the first video item and the first span of time, the first video item comprises the primary content and a second item of ancillary content and not the first item of ancillary content, the second item of ancillary content having a different time length then the first item of ancillary content length.

20. The method as defined in claim 16 , wherein when the first video item is identified by the system, the first video item consists of primary content, and when determining the time difference between a current length of the first video item and the first span of time, the first video item comprises the primary content and ancillary content, wherein the ancillary content is hosted by an ancillary content server.

Continuity (6)
Continuation 15975545 · May 8, 2018
Continuation 15633646 · Jun 26, 2017
Continuation 14988375 · Jan 5, 2016
Continuation 14622153 · Feb 13, 2015
Provisional Application 61940096 · Feb 14, 2014
Related Publication 20190208274A1 · Jul 4, 2019
Cited By (11)
US 12,244,880 US 12,256,129 US 12,356,026 US 12,413,806 US 12,432,406 US 12,563,273 US 12,593,103 US 12,621,515 US 12,634,536 US 12,666,098 US 12,713,089