IP Library › Granted Patent US 12,244,880
Granted Patent B2
US 12,244,880 · App. 18/516,669 · Granted Mar 4, 2025

Methods and systems for generating and providing program guides and content

Inventors: Spencer Shanson (Menlo Park, CA); Pavlo Kalmykov Vasilievich (Kharkov, UA); Jonathan Michael Jesperson (West Hollywood, CA); Adrian Chiu (West Hollywood, CA); Bryan Randall Fish (West Hollywood, CA); Jonathan Jovan Gwiazda (Carlsbad, CA); Sonia Priya Hashim (Saratoga, CA)
Assignee: Pluto Inc.
H04N21/251H04N21/2407H04N21/2668
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 12,244,880
App. No.
18/516,669
Granted
Mar 4, 2025
Kind
B2
Abstract

Systems and methods are configured to manage streaming video content. A first time length specification for a content pod is accessed. If a determination is made that a response to a request for ancillary content of a duration corresponding to the first time length of the content pod includes ancillary content of insufficient duration to populate the first time length of the content pod, the content pod time length is reduced. Ancillary content items associated with the response to the request are streamed to a user device as part of a streaming channel comprising primary content having scheduled start times. A primary content item, having a scheduled start time, is streamed to the user device after the items of ancillary content, and earlier than the scheduled start time of the item of primary content.

Claims (169)

1. A system configured to dynamically control streaming of content for channels of linear, scheduled content, the system comprising:

a network interface;

at least one processing device;

non-transitory memory storing programmatic code that when executed by the at least one processing device, cause the system to perform operations comprising:

access an ancillary content load specification associated with a first channel comprising primary streaming content having respective scheduled start times;

use the ancillary content load specification to determine a time length of an ancillary content pod for display between segments of primary content of the first channel;

store timing positioning information for the ancillary content pod having the determined time length;

detect that a user device has begun streaming a first item of primary content of the first channel after a scheduled start time of the first item of primary content; and

at least partly in response to detecting that the user device has begun streaming the first item of primary content after the scheduled start time of the first item of primary content, reduce a time length of the ancillary content pod.

2. The system as defined in claim 1 , the operations further comprising:

access a specification of a first time length of a first ancillary content pod, wherein items of primary content are associated with corresponding scheduled start play times;

transmit a first request for ancillary content of a duration corresponding to the first time length;

determine whether a response to the first request for ancillary content of a duration corresponding to the first time length of the first ancillary content pod includes ancillary content of insufficient duration to populate the first time length;

at least partly in response to determining that the response to the first request is insufficient to populate the first time length of the first ancillary content pod:

reduce the first time length of the first ancillary content pod by a first time period;

cause items of ancillary content associated with the response to the first request for ancillary content to be streamed to a first user device;

cause an item of primary content, associated with a corresponding scheduled start time, to be streamed immediately after the items of ancillary content associated with the response to the first request are streamed to the first user device, and earlier than the corresponding scheduled start time of the item of primary content;

determine a respective extension time length for an ancillary content pod scheduled to be played after the first ancillary content pod;

extend the time length of the ancillary content pod scheduled to be played after the first ancillary content pod by a respective extension time length;

enable the ancillary content pod extended by the extension time length to be populated with one or more items of ancillary content; and

enable the one or more items of ancillary content used to populate the ancillary content pod extended by the extension time length, to be streamed to the first user device;

transmit a second request for ancillary content of the duration corresponding to the first time length of the first ancillary content pod, wherein the second request includes one or more variables different than variables included in the first request, wherein the variables included in the second request are associated with one or more characteristics of a second user;

determine whether a response to the second request for ancillary content includes ancillary content of sufficient duration to populate the first time length of the first ancillary content pod;

at least partly in response to determining that the response to the second request for ancillary content is sufficient to populate the first time length of the first ancillary content pod:

cause the one or more items of ancillary content associated with the response to the second request for ancillary content to be streamed to a second user device; and

cause the item of primary content, associated with the corresponding scheduled start time, to be streamed after the items of ancillary content associated with the response to the second request for ancillary content are streamed to the second user device, and at the corresponding scheduled start time of the item of primary content.

3. The system as defined in claim 1 , the operations further comprising:

access a specification of a first time length of a first ancillary content pod, wherein items of primary content are associated with corresponding scheduled start play times;

transmit a first request for ancillary content of a duration corresponding to the first time length;

determine whether a response to the first request for ancillary content of a duration corresponding to the first time length of the first ancillary content pod includes ancillary content of insufficient duration to populate the first time length;

at least partly in response to determining that the response to the first request is insufficient to populate the first time length of the first ancillary content pod:

reduce the first time length of the first ancillary content pod by a first time period;

cause items of ancillary content associated with the response to the first request for ancillary content to be streamed to a first user device;

cause an item of primary content, associated with a corresponding scheduled start time, to be streamed immediately after the items of ancillary content associated with the response to the first request are streamed to the first user device, and earlier than the corresponding scheduled start time of the item of primary content;

determine an extension time length for an ancillary content pod scheduled to be played after the first ancillary content pod;

extend the time length of the ancillary content pod scheduled to be played after the first ancillary content pod by the extension time length;

enable the ancillary content pod extended by the extension time length to be populated with one or more items of ancillary content; and

enable the one or more items of ancillary content used to populate the ancillary content pod extended by the extension time length, to be streamed to the first user device.

4. The system as defined in claim 1 , the operations further comprising:

detect that a second user device is accessing a second channel comprising a first plurality of items of primary content associated with respective scheduled start times;

detect that the second user device has accessed a third channel comprising a second plurality of items of primary content associated with respective scheduled start times;

detect that the second user device has returned to accessing the second channel at a first time;

determine that a second item of content is scheduled to be played in the third channel beginning prior to and ending after when the second user device has returned to accessing the second channel at the first time; and

at least partly in response to determining that the second item of content is scheduled to be played in the second channel beginning prior to and ending after when the second user device has returned to accessing the second channel at the first time, cause the second item of content to be played by the second user device from the beginning of the second item of content.

5. The system as defined in claim 1 , the operations further comprising:

detect that a second user device is accessing, during a first session, a second channel comprising a first plurality of items of primary content associated with respective scheduled start times;

determine that a second item of primary content is to be streamed to the second user device earlier by a first amount than a scheduled start time for the second item of primary content;

cause a drift value corresponding to the first amount to be stored;

detect that the second user device has accessed, during the first session at a first time, a given channel comprising a second plurality of items of primary content associated with respective scheduled start times;

detect that the second user device has returned to accessing, during the first session at a second time, the given channel;

determine a difference between the first time and the second time;

access the stored drift value;

based at least in part:

on the accessed drift value, and

the determined difference between the first time and the second time,

determine what content is to be streamed to the second user device.

6. The system as defined in claim 1 , the operations further comprising:

detect that a second user device is accessing, during a first session, a second channel comprising a first plurality of items of primary content associated with respective scheduled start times;

detect that the second user device has accessed, during the first session, a third channel comprising a second plurality of items of primary content associated with respective scheduled start times;

detect that the second user device has returned to accessing, during the first session, the second channel at a first time;

determine that an item of content is scheduled to be played beginning prior to and ending after when the second user device has returned to accessing, during the first session, the second channel at the first time; and

at least partly in response to determining that a second item of primary content is scheduled to be played in the second channel beginning prior to and ending after when the second user device has returned to accessing, during the first session, the second channel at the first time, cause a different item of content to be played by the second user device instead of the second item of primary content.

7. The system as defined in claim 1 , the operations further comprising:

detect that a second user device is accessing, during a first session, a second channel comprising a first plurality of items of primary content associated with respective previously scheduled start times;

determine that a second item of primary content is to be streamed to the second user device earlier by a drift period than a scheduled start time for the second item of primary content;

cause a drift value corresponding to the drift period to be stored;

detect an upcoming anchor event in the second channel; and

at least partly in response to detecting the upcoming anchor event in the second channel, cause backfill content to be streamed to the second user device prior to the upcoming anchor event, to thereby reduce the drift period and to cause a viewing experience of the second user device with respect to at least one item of content to be synchronized to a previously scheduled start time of the at least one item of content.

8. The system as defined in claim 1 , the operations further comprising:

determine that a second item of primary content is to be streamed to a second user device earlier by a drift period than a scheduled start time for the second item of primary content;

cause a drift value corresponding to the drift period to be generated;

access a maximum drift specification; and

at least partly in response to a comparison of the drift value and the maximum drift specification, cause a viewing experience of the second user device with respect to at least one item of content to be synchronized to a previously scheduled start time of the at least one item of content.

9. The system as defined in claim 1 , the operations further comprising:

identify a first plurality of users that share at least a first characteristic;

assign the first plurality of users that share at least the first characteristic to first cohort;

identify a second plurality of users that share at least a second characteristic;

assign the second plurality of users that share at least the second characteristic to second cohort;

stream content of a second channel to at least one device of a user assigned to the first cohort, the second channel including a second ancillary content pod having a first designated length;

stream content of the second channel to at least one device of a user assigned to the second cohort, the second channel including the second ancillary content pod having the first designated length;

cause the second ancillary content pod to be populated with a first set of ancillary content having a first length for at least one user assigned to the first cohort, the first length less than the first designated length;

cause the second ancillary content pod to be populated with a second set of ancillary content having a second length for at least one user assigned to the second cohort, the second length less than the first designated length;

store a first drift value corresponding to a difference between the first designated length and the first length;

store a second drift value corresponding to a difference between the first designated length and the second length;

cause a second item of primary content to be streamed in the second channel at a first adjusted time to at least one device of a user assigned to the first cohort, the first adjusted time earlier than a scheduled start time for the second item of primary content, the first adjusted time determined using at least the first drift value; and

cause the second item of primary content to be streamed in the second channel at a second adjusted time to at least one device of a user assigned to the second cohort, the second adjusted time earlier than the scheduled start time for the second item of primary content, the second adjusted time determined using at least the second drift value.

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

accessing, using a computer system comprising a processing device, an ancillary content load specification associated with a first channel comprising primary streaming content having respective scheduled start times;

using the ancillary content load specification to determine a time length of an ancillary content pod for display between segments of primary content of the first channel;

storing, using the computer system, timing positioning information for the ancillary content pod;

detecting that a user device has begun streaming a first item of primary content of the first channel after a scheduled start time of the first item of primary content;

at least partly in response to detecting that the user device has begun streaming the first item of primary content after the scheduled start time of the first item of primary content, reducing a time length of the ancillary content pod; and

enabling the ancillary content pod with the reduced time length to be populated with respect items of ancillary content.

11. The computer-implemented method as defined in claim 10 , the method further comprising:

accessing a specification of a first time length of a first ancillary content pod, wherein items of primary content are associated with corresponding scheduled start play times;

transmitting a first request for ancillary content of a duration corresponding to the first time length;

determining whether a response to the first request for ancillary content of a duration corresponding to the first time length of the first ancillary content pod includes ancillary content of insufficient duration to populate the first time length;

at least partly in response to determining that the response to the first request is insufficient to populate the first time length of the first ancillary content pod:

reducing the first time length of the first ancillary content pod by a first time period;

causing items of ancillary content associated with the response to the first request for ancillary content to be streamed to a first user device;

causing an item of primary content, associated with a corresponding scheduled start time, to be streamed immediately after the items of ancillary content associated with the response to the first request are streamed to the first user device, and earlier than the corresponding scheduled start time of the item of primary content;

determining a respective extension time length for an ancillary content pod scheduled to be played after the first ancillary content pod;

extending the time length of the ancillary content pod scheduled to be played after the first ancillary content pod by a respective extension time length;

enabling the ancillary content pod extended by the extension time length to be populated with ancillary content; and

enabling the ancillary content used to populate the ancillary content pod extended by the extension time length, to be streamed to the first user device;

transmit a second request for ancillary content of the duration corresponding to the first time length of the first ancillary content pod, wherein the second request includes one or more variables different than variables included in the first request, wherein the variables included in the second request are associated with one or more characteristics of a second user;

determining whether a response to the second request for ancillary content includes ancillary content of sufficient duration to populate the first time length of the first ancillary content pod;

at least partly in response to determining that the response to the second request for ancillary content is sufficient to populate the first time length of the first ancillary content pod:

causing items of ancillary content associated with the response to the second request for ancillary content to be streamed to a second user device; and

causing the item of primary content, associated with the corresponding scheduled start time, to be streamed after the items of ancillary content associated with the response to the second request for ancillary content are streamed to the second user device, and at the corresponding scheduled start time of the item of primary content.

12. The computer-implemented method as defined in claim 10 , the method further comprising:

accessing a specification of a first time length of a first ancillary content pod, wherein items of primary content are associated with corresponding scheduled start play times;

transmitting a first request for ancillary content of a duration corresponding to the first time length;

determining whether a response to the first request for ancillary content of a duration corresponding to the first time length of the first ancillary content pod includes ancillary content of insufficient duration to populate the first time length;

at least partly in response to determining that the response to the first request is insufficient to populate the first time length of the first ancillary content pod:

reducing the first time length of the first ancillary content pod by a first time period;

causing items of ancillary content associated with the response to the first request for ancillary content to be streamed to a first user device;

causing an item of primary content, associated with a corresponding scheduled start time, to be streamed immediately after the items of ancillary content associated with the response to the first request are streamed to the first user device, and earlier than the corresponding scheduled start time of the item of primary content;

determining an extension time length for an ancillary content pod scheduled to be played after the first ancillary content pod;

extending the time length of the ancillary content pod scheduled to be played after the first ancillary content pod by the extension time length;

enabling the ancillary content pod extended by the extension time length to be populated with ancillary content; and

enabling the ancillary content used to populate the ancillary content pod extended by the extension time length, to be streamed to the first user device.

13. The computer-implemented method as defined in claim 10 , the method further comprising:

detecting that a second user device is accessing, during a first session, a second channel comprising a first plurality of items of primary content associated with respective scheduled start times;

determining that a second item of primary content is to be streamed to the second user device earlier by a first amount than a scheduled start time for the second item of primary content;

causing a drift value corresponding to the first amount to be stored;

detect that the second user device has accessed, during the first session at a first time, a given channel comprising a second plurality of items of primary content associated with respective scheduled start times;

detecting that the second user device has returned to accessing, during the first session at a second time, the given channel;

determining a difference between the first time and the second time;

accessing the stored drift value; and

based at least in part:

on the accessed drift value, and

the determined difference between the first time and the second time, determining what content is to be streamed to the second user device.

14. The computer-implemented method as defined in claim 10 , the method further comprising:

detecting that a second user device is accessing a second channel comprising a first plurality of items of primary content associated with respective scheduled start times;

detecting that the second user device has accessed a third channel comprising a second plurality of items of primary content associated with respective scheduled start times;

detecting that the second user device has returned to accessing the second channel at a first time;

determining that a second item of content is scheduled to be played in the third channel beginning prior to and ending after when the second user device has returned to accessing the second channel at the first time; and

at least partly in response to determining that the second item of content is scheduled to be played in the second channel beginning prior to and ending after when the second user device has returned to accessing the second channel at the first time, causing the second item of content to be played by the second user device from the beginning of the second item of content.

15. The computer-implemented method as defined in claim 10 , the method further comprising:

detecting that a second user device is accessing, during a first session, a second channel comprising a first plurality of items of primary content associated with respective scheduled start times;

detecting that the second user device has accessed, during the first session, a third channel comprising a second plurality of items of primary content associated with respective scheduled start times;

detecting that the second user device has returned to accessing, during the first session, the second channel at a first time;

determining that an item of content is scheduled to be played beginning prior to and ending after when the second user device has returned to accessing, during the first session, the second channel at the first time; and

at least partly in response to determining that a second item of primary content is scheduled to be played in the second channel beginning prior to and ending after when the second user device has returned to accessing, during the first session, the second channel at the first time, causing a second item of content to be played by the second user device instead of the second item of primary content.

16. The computer-implemented method as defined in claim 10 , the method further comprising:

detecting that a second user device is accessing, during a first session, a second channel comprising a first plurality of items of primary content associated with respective previously scheduled start times;

determining that a second item of primary content is to be streamed to the second user device earlier by a drift period than a scheduled start time for the second item of primary content;

causing a drift value corresponding to the drift period to be stored;

detecting an upcoming anchor event in the second channel; and

at least partly in response to detecting the upcoming anchor event in the second channel, causing backfill content to be streamed to the second user device prior to the upcoming anchor event, to thereby reduce the drift period and to cause a viewing experience of the second user device with respect to at least one item of content to be synchronized to a previously scheduled start time of the at least one item of content.

17. The computer-implemented method as defined in claim 10 , the method further comprising:

determining that a second item of primary content is to be streamed to a second user device earlier by a drift period than a scheduled start time for the second item of primary content;

causing a drift value corresponding to the drift period to be generated;

accessing a maximum drift specification; and

at least partly in response to a comparison of the drift value and the maximum drift specification, causing a viewing experience of the second user device with respect to at least one item of content to be synchronized to a previously scheduled start time of the at least one item of content.

18. The computer-implemented method as defined in claim 10 , the method further comprising:

identifying a first plurality of users that share at least a first characteristic;

assigning the first plurality of users that share at least the first characteristic to first cohort;

identifying a second plurality of users that share at least a second characteristic;

assign the second plurality of users that share at least the second characteristic to second cohort;

streaming content of a second channel to at least one device of a user assigned to the first cohort, the second channel including a second ancillary content pod having a first designated length;

streaming content of the second channel to at least one device of a user assigned to the second cohort, the second channel including the second ancillary content pod having the first designated length;

causing the second ancillary content pod to be populated with a first set of ancillary content having a first length for at least one user assigned to the first cohort, the first length less than the first designated length;

causing the second ancillary content pod to be populated with a second set of ancillary content having a second length for at least one user assigned to the second cohort, the second length less than the first designated length;

storing a first drift value corresponding to a difference between the first designated length and the first length;

storing a second drift value corresponding to a difference between the first designated length and the second length;

causing a second item of primary content to be streamed in the second channel at a first adjusted time to at least one device of a user assigned to the first cohort, the first adjusted time earlier than a scheduled start time for the second item of primary content, the first adjusted time determined using at least the first drift value; and

causing the second item of primary content to be streamed in the second channel at a second adjusted time to at least one device of a user assigned to the second cohort, the second adjusted time earlier than the scheduled start time for the second item of primary content, the second adjusted time determined using at least the second drift value.

Continuity (7)
Continuation 18062720 · Dec 7, 2022
Continuation 17449076 · Sep 27, 2021
Continuation In Part 17150897 · Jan 15, 2021
Continuation 16892833 · Jun 4, 2020
Continuation 16405443 · May 7, 2019
Provisional Application 62669182 · May 9, 2018
Related Publication 20240098324A1 · Mar 21, 2024
References Cited (185)
US 5411493A · Rodriguez · 1995 [cited by applicant]
US 6378129B1 · Zetts · 2002 [cited by applicant]
US 6423047B1 · Webster · 2002 [cited by applicant]
US 6625811B1 · Kaneko · 2003 [cited by applicant]
US 6982780B2 · Morley · 2006 [cited by applicant]
US 8005826B1 · Sahami · 2011 [cited by applicant]
US 8418195B1 · Page · 2013 [cited by applicant]
US 8483393B2 · Robert · 2013 [cited by applicant]
US 8533761B1 · Sahami · 2013 [cited by applicant]
US 8572649B1 · Gossweiler, III · 2013 [cited by applicant]
US 8578042B2 · Hu · 2013 [cited by applicant]
US 8631440B2 · Gossweiler, III · 2014 [cited by applicant]
US 8745023B2 · Libin · 2014 [cited by applicant]
US 8826443B1 · Raman · 2014 [cited by applicant]
US 9112623B2 · Blaxland · 2015 [cited by applicant]
US 9130918B2 · Picconi · 2015 [cited by applicant]
US 9258589B2 · Grouf et al. · 2016 [cited by applicant]
US 9301020B2 · Sun · 2016 [cited by applicant]
US 9584874B1 · Farias · 2017 [cited by applicant]
US 9699515B2 · Grouf et al. · 2017 [cited by applicant]
US 9712884B2 · Grouf et al. · 2017 [cited by applicant]
US 9998787B2 · Grouf et al. · 2018 [cited by applicant]
US 10063612B2 · Brinkley · 2018 [cited by applicant]
US 10104445B2 · Patel · 2018 [cited by applicant]
US 10231018B2 · Grouf et al. · 2019 [cited by applicant]
US 10327037B2 · Shanson et al. · 2019 [cited by applicant]
US 10356447B2 · Shanson · 2019 [cited by applicant]
US 10356480B2 · Hou et al. · 2019 [cited by applicant]
US 10560746B2 · Grouf et al. · 2020 [cited by applicant]
US 10681395B1 · Gang et al. · 2020 [cited by applicant]
US 10681431B2 · Levy · 2020 [cited by applicant]
US 10715848B2 · Hou · 2020 [cited by applicant]
US 10820066B2 · Caulfield · 2020 [cited by applicant]
US 10902474B2 · Lo · 2021 [cited by applicant]
US 10931990B2 · Hou · 2021 [cited by applicant]
US 10939168B2 · Grouf et al. · 2021 [cited by applicant]
US 11533527B2 · Shanson · 2022 [cited by examiner]
US 20020038457A1 · Numata · 2002 [cited by applicant]
US 20020121273A1 · Nyilas · 2002 [cited by applicant]
US 20030074664A1 · Kwoh · 2003 [cited by applicant]
US 20030088872A1 · Maissel et al. · 2003 [cited by applicant]
US 20030149988A1 · Ellis et al. · 2003 [cited by applicant]
US 20030212708A1 · Potrebic · 2003 [cited by applicant]
US 20030229900A1 · Reisman · 2003 [cited by applicant]
US 20040088737A1 · Donlan · 2004 [cited by applicant]
US 20040117831A1 · Ellis et al. · 2004 [cited by applicant]
US 20040123317A1 · Ozawa · 2004 [cited by applicant]
US 20040255336A1 · Logan et al. · 2004 [cited by applicant]
US 20060271959A1 · Jacoby · 2006 [cited by applicant]
US 20060294548A1 · Potrebic et al. · 2006 [cited by applicant]
US 20070107010A1 · Jolna · 2007 [cited by applicant]
US 20070204310A1 · Hua et al. · 2007 [cited by applicant]
US 20070294710A1 · Meesseman · 2007 [cited by applicant]
US 20070294734A1 · Arsenault · 2007 [cited by applicant]
US 20070299877A1 · Cohen et al. · 2007 [cited by applicant]
US 20080114880A1 · Jogand-Coulomb · 2008 [cited by applicant]
US 20080127257A1 · Kvache · 2008 [cited by applicant]
US 20080194276A1 · Lin · 2008 [cited by applicant]
US 20080235733A1 · Heie · 2008 [cited by applicant]
US 20080270462A1 · Thomsen · 2008 [cited by applicant]
US 20080271078A1 · Gossweiler · 2008 [cited by applicant]
US 20080271080A1 · Gossweiler · 2008 [cited by applicant]
US 20080306818A1 · Evans · 2008 [cited by applicant]
US 20090070819A1 · Gajda · 2009 [cited by applicant]
US 20090133054A1 · Boggie · 2009 [cited by applicant]
US 20090133090A1 · Busse · 2009 [cited by applicant]
US 20090199114A1 · Lewis · 2009 [cited by applicant]
US 20090204487A1 · Cansler · 2009 [cited by applicant]
US 20090241145A1 · Sharma · 2009 [cited by applicant]
US 20090259711A1 · Drieu et al. · 2009 [cited by applicant]
US 20090300675A1 · Shkedi · 2009 [cited by applicant]
US 20100021512A1 · Arron · 2010 [cited by applicant]
US 20100138297A1 · Fitzgerald · 2010 [cited by applicant]
US 20100138298A1 · Fitzgerald · 2010 [cited by applicant]
US 20100299264A1 · Berger · 2010 [cited by applicant]
US 20100325657A1 · Sellers · 2010 [cited by applicant]
US 20110030012A1 · Diaz Perez · 2011 [cited by applicant]
US 20110126251A1 · LaFreniere · 2011 [cited by applicant]
US 20110126258A1 · Emerson · 2011 [cited by applicant]
US 20110149992A1 · Sharma et al. · 2011 [cited by applicant]
US 20110153423A1 · Elvekrog · 2011 [cited by applicant]
US 20110231660A1 · Kanungo · 2011 [cited by applicant]
US 20110261171A1 · Otsuka et al. · 2011 [cited by applicant]
US 20110264522A1 · Chan · 2011 [cited by applicant]
US 20120102524A1 · Goldschmidt Iki et al. · 2012 [cited by applicant]
US 20120110621A1 · Gossweiler, III · 2012 [cited by applicant]
US 20120116869A1 · Vasudevan · 2012 [cited by applicant]
US 20120144416A1 · Wetzer et al. · 2012 [cited by applicant]
US 20120158492A1 · Ye et al. · 2012 [cited by applicant]
US 20120174157A1 · Stinson, III · 2012 [cited by applicant]
US 20120192232A1 · Ellis · 2012 [cited by applicant]
US 20120272264A1 · Suzuki · 2012 [cited by applicant]
US 20130080579A1 · Gordon et al. · 2013 [cited by applicant]
US 20130080772A1 · McGowan · 2013 [cited by applicant]
US 20130170818A1 · Klappert · 2013 [cited by applicant]
US 20130175333A1 · Gilbert · 2013 [cited by applicant]
US 20130198642A1 · Carney · 2013 [cited by applicant]
US 20130198779A1 · Moon · 2013 [cited by applicant]
US 20130239136A1 · Babu · 2013 [cited by applicant]
US 20130276032A1 · Walter et al. · 2013 [cited by applicant]
US 20130305285A1 · Cook · 2013 [cited by applicant]
US 20130305287A1 · Wong · 2013 [cited by applicant]
US 20130311780A1 · Besehanic · 2013 [cited by applicant]
US 20130312028A1 · Dharmaji et al. · 2013 [cited by applicant]
US 20130332959A1 · Kothari · 2013 [cited by applicant]
US 20130347018A1 · Limp · 2013 [cited by applicant]
US 20140007170A1 · Klappert et al. · 2014 [cited by applicant]
US 20140033240A1 · Card, II · 2014 [cited by applicant]
US 20140115625A1 · McCoy · 2014 [cited by examiner]
US 20140150019A1 · Ma et al. · 2014 [cited by applicant]
US 20140157312A1 · Williams · 2014 [cited by applicant]
US 20140189743A1 · Kennedy · 2014 [cited by applicant]
US 20140201791A1 · Angiolillo et al. · 2014 [cited by applicant]
US 20140245351A1 · Ford · 2014 [cited by applicant]
US 20140282667A1 · Major · 2014 [cited by applicant]
US 20140282677A1 · Mantell · 2014 [cited by applicant]
US 20140282736A1 · Elstermann · 2014 [cited by applicant]
US 20140298363A1 · Begeja et al. · 2014 [cited by applicant]
US 20140304756A1 · Fletcher · 2014 [cited by applicant]
US 20140348491A1 · Redmann · 2014 [cited by applicant]
US 20140351843A1 · Theriault · 2014 [cited by applicant]
US 20140366068A1 · Burkitt · 2014 [cited by applicant]
US 20140373041A1 · Yan · 2014 [cited by applicant]
US 20150113547A1 · Wolf · 2015 [cited by applicant]
US 20150128163A1 · Cormican · 2015 [cited by applicant]
US 20150143413A1 · Hall · 2015 [cited by applicant]
US 20150186800A1 · Kaplow · 2015 [cited by applicant]
US 20150189347A1 · Oztaskent · 2015 [cited by applicant]
US 20150237389A1 · Grouf · 2015 [cited by applicant]
US 20150249869A1 · Dhruv et al. · 2015 [cited by applicant]
US 20150264450A1 · Jung · 2015 [cited by applicant]
US 20150302463A1 · Tinsman · 2015 [cited by examiner]
US 20150310498A1 · Brandstetter · 2015 [cited by applicant]
US 20150358661A1 · Navarro · 2015 [cited by applicant]
US 20160112740A1 · Francisco · 2016 [cited by applicant]
US 20160198202A1 · Van Brandenburg et al. · 2016 [cited by applicant]
US 20160241914A1 · Shenkler · 2016 [cited by applicant]
US 20170085962A1 · Maughan · 2017 [cited by applicant]
US 20170116530A1 · Modarresi · 2017 [cited by applicant]
US 20180014077A1 · Hou et al. · 2018 [cited by applicant]
US 20180060759A1 · Chu · 2018 [cited by applicant]
US 20180276256A1 · Sarkar · 2018 [cited by applicant]
US 20180316968A1 · Card, II · 2018 [cited by applicant]
US 20190098344A1 · Shanson · 2019 [cited by applicant]
US 20190114662A1 · Bennion · 2019 [cited by applicant]
US 20190228439A1 · Anthony · 2019 [cited by applicant]
US 20200084486A1 · Cho · 2020 [cited by applicant]
US 20200145702A1 · Feldman · 2020 [cited by examiner]
US 20200228870A1 · Gordon · 2020 [cited by applicant]
US 20200304851A1 · Hou · 2020 [cited by applicant]
US 20210044869A1 · Grouf et al. · 2021 [cited by applicant]
US 20220046302A1 · Shanson et al. · 2022 [cited by applicant]
EP 0594350A1 · 1994 [cited by applicant]
GB 2343051A · 2000 [cited by applicant]
KR 1020090004398A · 2009 [cited by applicant]
KR 1020140024359A · 2014 [cited by applicant]
KR 1020150066915A · 2015 [cited by applicant]
KR 1020160021132A · 2016 [cited by applicant]
WO WO0040021A1 · 2000 [cited by applicant]
WO WO2004077808A2 · 2004 [cited by applicant]
WO WO2005048589A2 · 2005 [cited by applicant]
WO WO2007123613A1 · 2007 [cited by applicant]
WO WO2008007274A2 · 2008 [cited by applicant]
WO WO2011106601A2 · 2011 [cited by applicant]
WO WO2012079054 · 2012 [cited by applicant]
WO WO2015036518A1 · 2015 [cited by applicant]
Australian Examination Report regarding Application No. 2015218353, dated Nov. 2, 2018, 7 pages. [cited by applicant]
European Office Action dated Jul. 28, 2022, received in European Patent Application No. 19 798 921.3, in 7 pages. [cited by applicant]
European Search Report dated May 3, 2019 received for European Patent Application No. EP 19 15 8438, 10 pages. [cited by applicant]
Examination Report dated Apr. 16, 2019, received in Australian Patent Application No. 2015218353. [cited by applicant]
Examination Report dated Jul. 25, 2019, received in Australian Patent Application No. 2015218353. [cited by applicant]
Extended European Search Report dated Apr. 8, 2021, received in EP Patent Application No. 18858617.6, in 9 pages. [cited by applicant]
Extended European Search Report dated Aug. 4, 2017, Application No. 15749508.6. [cited by applicant]
Extended European Search Report dated Feb. 12, 2020, received in EP Patent Application No. 17824725.0. [cited by applicant]
Extended European Search Report dated Jan. 3, 2023, received in European Patent Application No. 22186793, in 10 pages. [cited by applicant]
Extended European Search Report dated Jun. 4, 2021, received in European Patent Application No. 19798921.3, in 10 pages. [cited by applicant]
Host. Oxford Dictionaries. Oxford University Press, n.d. Web. Sep. 3, 2016. <http://www.oxforddictionaries.com/us/definition/american_english/host>., 7 pages. [cited by applicant]
International Search And Written Opinion dated Jan. 4, 2023, received in International Patent Applicatoin No. PCT/US2022/076427, in 10 pages. [cited by applicant]
International Search Report and Written Opinion dated Apr. 1, 2019 received in International Patent Application No. PCT/UC2018/051966, in 18 pages. [cited by applicant]
International Search Report and Written Opinion, dated/mailed May 21, 2015, in International Application No. PCT/US2015/015902, 17 pp. [cited by applicant]
Li et al., “Video Multicast over the Internet”, IEEE Network, vol. 13, Issue: 2, pp. 46-60, Mar./Apr. 1999. [cited by applicant]
Office Action dated Jun. 29, 2020 received in European Patent Application No. 19 158 438.2, in 4 pages. [cited by applicant]
PCT Search Report and Written Opinion dated Feb. 26, 2018 received in International Patent Application No. PCT/US2017/039960, in 18 pages. [cited by applicant]
Australian Office Action regarding Application No. 2023201517, dated Apr. 11, 2024, 2 pages. [cited by applicant]
Office Action dated Jun. 26, 2024, received in European Patent Application No. 22186793.0, in 8 pages. [cited by applicant]