IP Library Granted Patent US 12684188
Granted Patent B2
US 12684188 · App. 18/944,855 · Granted Jul 14, 2026

Systems and methods for delivery of content via multicast and unicast

Inventors: Rajendran Pichaimurthy (Bangalore, IN); Madhusudhan Seetharam (Bangalore, IN); Harshith Kumar Gejjegondanahally Sreekanth (Shivamogga, IN)
Assignee: Adeia Guides Inc.
H04N21/26616H04L12/185H04L65/611H04L65/612H04N21/26208H04N21/2668H04N21/6408H04N21/812H04N21/8456H04L67/306H04N21/23424
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 12684188
App. No.
18/944,855
Granted
Jul 14, 2026
Kind
B2
Abstract

The system and methods described aid content delivery by providing requested content using a hybrid delivery of unicast and multicast content. A content delivery system receives, from user equipment, a request for content and identifies multicast sources for the content. The content delivery system determines a recent multicast source from the multicast sources, the recent multicast source having begun more recently relative to the other sources. The content delivery system transmits, to the user equipment, an identity of the recent multicast source and provides a beginning portion of the content to the user equipment via a unicast stream.

Claims (91)

1 . A method comprising:

receiving, from user equipment, a request for content;

identifying a linear source of the content, wherein the linear source of the content is configured to provide a first stream of the content over a predefined time period;

identifying a non-linear source of the content, wherein the non-linear source of the content is configured to provide a second stream of the content on-demand;

receiving the first stream of the content from the linear source;

determining that a first portion of the content from the linear source requires buffering, and based on the determining:

identifying a start timestamp and an end timestamp of the first portion of the content;

receiving a second portion of the content from the non-linear source, wherein the second portion of the content received from the non-linear source does not include the first portion of the content and comprises a plurality of successive timestamps;

modifying the second portion by:

detecting a supplemental content period in the second portion;

reducing the supplemental content period;

arranging the first portion and the second portion based on the start timestamp, the end timestamp, and the plurality of successive timestamps; and

storing, in memory, a single copy of the content comprising the arranged first portion and second portion.

2 . The method of claim 1 , wherein the supplemental content period is an advertisement period.

3 . The method of claim 1 , further comprising:

calculating a remaining non-linear stream length corresponding to a difference in time between the start timestamp of the first stream of the content from the linear source and a current time-based position of the second stream of the content from the non-linear source.

4 . The method of claim 3 , wherein the reducing the supplemental content period is based on the calculated remaining non-linear stream length.

5 . The method of claim 1 , wherein the modifying the second portion further comprises:

calculating a supplemental content length corresponding to the supplemental content period;

determining whether the supplemental content length exceeds a threshold length; and

based on determining that the supplemental content length exceeds the threshold length, removing the supplemental content period from the second portion.

6 . The method of claim 1 , wherein identifying the linear source comprises:

determining a request timestamp corresponding to the request for the content;

retrieving an identifier of the content;

transmitting a request to a data source for identities of a plurality of linear sources, wherein the request to the data source comprises the identifier of the content;

receiving a response from the data source, the response comprising a plurality of identities corresponding to each of a plurality of available linear sources;

identifying a respective start timestamp for each of the plurality of available linear sources, wherein each respective start timestamp corresponds to a time that each of the plurality of available linear sources is able to start transmitting the content;

comparing each respective start timestamp to the request timestamp; and

identifying, based on the comparing, the linear source from the plurality of linear sources that has a respective start timestamp that corresponds to the request timestamp.

7 . The method of claim 1 , wherein identifying the non-linear source comprises:

determining a request timestamp corresponding to the request for the content;

retrieving an identifier of the content;

transmitting a request to a data source for identities of a plurality of non-linear sources, wherein the request to the data source comprises the identifier of the content;

receiving a response from the data source, the response comprising a plurality of identities corresponding to each of a plurality of available non-linear sources;

identifying a respective start timestamp for each of the plurality of available non-linear sources, wherein each respective start timestamp corresponds to a time that each of the plurality of available non-linear sources is able to start transmitting the content;

comparing each respective start timestamp to the request timestamp; and

identifying, based on the comparing, the non-linear source from the plurality of non-linear sources that has a respective start timestamp that corresponds to the request timestamp.

8 . The method of claim 1 , further comprising:

retrieving textual information related to the supplemental content period; and

supplementing the second portion received from the non-linear source with the textual information.

9 . The method of claim 1 , further comprising:

identifying a user profile associated with the user equipment;

retrieving supplemental content based on the user profile; and

inserting the supplemental content into the second portion of the content received from the non-linear source at the supplemental content period.

10 . The method of claim 1 , wherein arranging the first portion and the second portion based on the start timestamp, the end timestamp, and the plurality of successive timestamps further comprises positioning the first portion relative to the second portion such that the start timestamp, the end timestamp, and the plurality of successive timestamps are in temporal order.

11 . A system comprising:

control circuitry configured to:

receive, from user equipment, a request for content;

identify a linear source of the content, wherein the linear source of the content is configured to provide a first stream of the content over a predefined time period;

identify a non-linear source of the content, wherein the non-linear source of the content is configured to provide a second stream of the content on-demand;

receive the first stream of the content from the linear source;

based on determining that a first portion of the content from the linear source requires buffering:

identify a start timestamp and an end timestamp of the first portion of the content;

receive a second portion of the content from the non-linear source, wherein the second portion of the content received from the non-linear source does not include the first portion of the content and comprises a plurality of successive timestamps;

modify the second portion by:

detecting a supplemental content period in the second portion;

reducing the supplemental content period;

arrange the first portion and the second portion based on the start timestamp, the end timestamp, and the plurality of successive timestamps; and

store, in memory, a single copy of the content comprising the arranged first portion and second portion.

12 . The system of claim 11 , wherein the supplemental content period is an advertisement period.

13 . The system of claim 11 , wherein the control circuitry is further configured to:

calculate a remaining non-linear stream length corresponding to a difference in time between the start timestamp of the first stream of the content from the linear source and a current time-based position of the second stream of the content from the non-linear source.

14 . The system of claim 13 , wherein the control circuitry is configured to reduce the supplemental content period based on the calculated remaining non-linear stream length.

15 . The system of claim 11 , wherein the control circuitry is configured to modify the second portion by:

calculating a supplemental content length corresponding to the supplemental content period;

determining whether the supplemental content length exceeds a threshold length; and

based on determining that the supplemental content length exceeds the threshold length, removing the supplemental content period from the second portion.

16 . The system of claim 11 , wherein the control circuitry is configured to identify the linear source by:

determining a request timestamp corresponding to the request for the content;

retrieving an identifier of the content;

transmitting a request to a data source for identities of a plurality of linear sources, wherein the request to the data source comprises the identifier of the content;

receiving a response from the data source, the response comprising a plurality of identities corresponding to each of a plurality of available linear sources;

identifying a respective start timestamp for each of the plurality of available linear sources, wherein each respective start timestamp corresponds to a time that each of the plurality of available linear sources is able to start transmitting the content;

comparing each respective start timestamp to the request timestamp; and

identifying, based on the comparing, the linear source from the plurality of linear sources that has a respective start timestamp that corresponds to the request timestamp.

17 . The system of claim 11 , wherein the control circuitry is configured to identify the non-linear source by:

determining a request timestamp corresponding to the request for the content;

retrieving an identifier of the content;

transmitting a request to a data source for identities of a plurality of non-linear sources, wherein the request to the data source comprises the identifier of the content;

receiving a response from the data source, the response comprising a plurality of identities corresponding to each of a plurality of available non-linear sources;

identifying a respective start timestamp for each of the plurality of available non-linear sources, wherein each respective start timestamp corresponds to a time that each of the plurality of available non-linear sources is able to start transmitting the content;

comparing each respective start timestamp to the request timestamp; and

identifying, based on the comparing, the non-linear source from the plurality of non-linear sources that has a respective start timestamp that corresponds to the request timestamp.

18 . The system of claim 11 , wherein the control circuitry is further configured to:

retrieve textual information related to the supplemental content period; and

supplement the second portion received from the non-linear source with the textual information.

19 . The system of claim 11 , wherein the control circuitry is further configured to:

identify a user profile associated with the user equipment;

retrieve supplemental content based on the user profile; and

insert the supplemental content into the second portion of the content received from the non-linear source at the supplemental content period.

20 . The system of claim 11 , wherein the control circuitry is configured to arrange the first portion and the second portion based on the start timestamp, the end timestamp, and the plurality of successive timestamps by positioning the first portion relative to the second portion such that the start timestamp, the end timestamp, and the plurality of successive timestamps are in temporal order.