IP Library Granted Patent US 11,032,595
Granted Patent B2
US 11,032,595 · App. 16/145,390 · Granted Jun 8, 2021

Systems and methods for delivery of content via multicast and unicast

Inventors: Rajendran Pichaimurthy (Karnataka, IN); Madhusudhan Seetharam (Karnataka, IN); Harshith Kumar Gejjegondanahally Sreekanth (Karnataka, IN)
Assignee: Rovi Guides, Inc.
H04N21/26616H04L12/185H04L65/4076H04L65/4084H04N21/2668H04N21/26208H04N21/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 11,032,595
App. No.
16/145,390
Filed
Sep 28, 2018
Granted
Jun 8, 2021
Kind
B2
Art Unit
2447
USPC
709/231
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 (77)

1. A method for delivering content via a combination of a multicast source and a unicast stream, the method comprising:

receiving, from user equipment, a request for the content;

identifying a plurality of multicast sources, wherein each stream in the plurality of multicast sources provides access to the content;

determining a recent multicast source from the plurality of multicast sources, wherein the recent multicast source most recently began delivering the content relative to other multicast sources of the plurality of multicast sources;

transmitting, to the user equipment, an identity of the recent multicast source;

retrieving data indicating a position in the content of the recent multicast source corresponding with when the user equipment began buffering the recent multicast source;

calculating a projected unicast stream length based on a difference in a start time in the content of the unicast stream and the position in the content when the user equipment began buffering the recent multicast source;

detecting an advertisement period in the unicast stream;

reducing the advertisement period, wherein the advertisement period in the unicast stream is reduced based on the projected unicast stream length; and

providing a beginning portion of the content to the user equipment via the unicast stream.

2. The method of claim 1 , wherein providing the beginning portion of the content to the user equipment via the unicast stream comprises:

transmitting, to the user equipment, the unicast stream;

receiving an indication to end the unicast stream; and

in response to receiving the indication to end the unicast stream, ending the transmission of the unicast stream.

3. The method of claim 1 , wherein providing the beginning portion of the content to the user equipment via the unicast stream comprises:

storing a timestamp indicating a current position of the recent multicast source in the content corresponding with when the user equipment began buffering the recent multicast source;

transmitting, to the user equipment, the unicast stream;

determining the unicast stream has reached a timepoint in the content corresponding with the timestamp;

transmitting, in response to determining the unicast stream reached the timepoint in the content corresponding with the timestamp, an instruction to the user equipment to switch from the unicast stream to a buffer of the recent multicast source; and

ending the transmission of the unicast stream.

4. The method of claim 1 , wherein:

identifying the plurality of multicast sources comprises:

retrieving an identifier of the content;

transmitting a request to a media guidance data source for identities of the plurality of multicast sources, wherein the request to the media guidance data source comprises the identifier of the content; and

receiving a response from the media guidance data source, the response comprising a plurality of identities of the plurality of multicast sources and start times for the plurality of multicast sources; and

determining a source multicast stream from the plurality of multicast sources comprises:

comparing the start times for the plurality of multicast sources with one another; and

identifying, based on comparing the start times for the plurality of multicast sources with one another, one of the plurality of multicast sources, wherein the identified one of the plurality of multicast sources has a latest start time among the plurality of multicast sources that have already begun.

5. The method of claim 1 , further comprising:

detecting an advertisement in the unicast stream;

retrieving textual information related to the advertisement;

removing the advertisement from the unicast stream; and

supplementing the unicast stream with the textual information.

6. The method of claim 1 , further comprising:

identifying a user profile associated with the user equipment;

retrieving advertising content targeted to the user profile;

determining an advertising period in the content; and

inserting the advertising content into the unicast stream at the advertising period.

7. A system for delivering content via a combination of a multicast source and a unicast stream, the system comprising:

communication circuitry; and

control circuitry configured to:

receive, from user equipment via the communication circuitry, a request for the content;

identify a plurality of multicast sources, wherein each stream in the plurality of multicast sources provides access to the content;

determine a recent multicast source from the plurality of multicast sources, wherein the recent multicast source most recently began delivering the content relative to other multicast sources of the plurality of multicast sources;

transmit, to the user equipment, an identity of the recent multicast source;

retrieve data indicating a position in the content of the recent multicast source corresponding with when the user equipment began buffering the recent multicast source;

calculate a projected unicast stream length based on a difference in a start time in the content of the unicast stream and the position in the content when the user equipment began buffering the recent multicast source;

detect an advertisement period in the unicast stream;

reduce the advertisement period, wherein the advertisement period in the unicast stream is reduced based on the projected unicast stream length; and

provide a beginning portion of the content to the user equipment via the unicast stream.

8. The system of claim 7 , wherein the control circuitry is further configured to, when providing the beginning portion of the content to the user equipment via the unicast stream:

transmit, to the user equipment via the communication circuitry, the unicast stream;

receive an indication to end the unicast stream; and

in response to receiving the indication to end the unicast stream, end the transmission of the unicast stream.

9. The system of claim 7 , wherein the control circuitry is further configured to, when providing the beginning portion of the content to the user equipment via the unicast stream:

store a timestamp indicating a current position of the recent multicast source in the content corresponding with when the user equipment began buffering the recent multicast source;

transmit, to the user equipment via the communication circuitry, the unicast stream; determine the unicast stream has reached a timepoint in the content corresponding with the timestamp;

transmit, in response to determining the unicast stream reached the timepoint in the content corresponding with the timestamp, an instruction to the user equipment to switch from the unicast stream to a buffer of the recent multicast source; and

end the transmission of the unicast stream.

10. The system of claim 7 , wherein:

the control circuitry is further configured to, when identifying the plurality of multicast sources:

retrieve an identifier of the content;

transmit, via the communication circuitry, a request to a media guidance data source for identities of the plurality of multicast sources, wherein the request to the media guidance data source comprises the identifier of the content; and

receive a response from the media guidance data source, the response comprising a plurality of identities of the plurality of multicast sources and start times for the plurality of multicast sources; and

the control circuitry is further configured to, when determining a source multicast stream from the plurality of multicast sources:

compare the start times for the plurality of multicast sources with one another; and

identify, based on comparing the start times for the plurality of multicast sources with one another, one of the plurality of multicast sources, wherein the identified one of the plurality of multicast sources has a latest start time among the plurality of multicast sources that have already begun.

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

detect an advertisement in the unicast stream;

retrieve textual information related to the advertisement;

remove the advertisement from the unicast stream; and

supplement the unicast stream with the textual information.

12. The system of claim 7 , wherein the control circuitry is further configured to:

identify a user profile associated with the user equipment;

retrieve advertising content targeted to the user profile;

determine an advertising period in the content; and

insert the advertising content into the unicast stream at the advertising period.

Assignments (7)
CHANGE OF NAME Recorded Oct 3, 2024
From: ROVI GUIDES, INC.
To: ADEIA GUIDES INC.
Reel/Frame 069106/0164 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: MORGAN STANLEY SENIOR FUNDING, INC.
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053481/0790 →
RELEASE OF SECURITY INTEREST Recorded Jun 5, 2020
From: HPS INVESTMENT PARTNERS, LLC
To: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
Reel/Frame 053458/0749 →
SECURITY INTEREST Recorded Jun 1, 2020
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS INC.; VEVEO, INC.; INVENSAS CORPORATION; INVENSAS BONDING TECHNOLOGIES, INC.; TESSERA, INC.; TESSERA ADVANCED TECHNOLOGIES, INC.; DTS, INC.; PHORUS, INC.; IBIQUITY DIGITAL CORPORATION
To: BANK OF AMERICA, N.A.
Reel/Frame 053468/0001 →
PATENT SECURITY AGREEMENT Recorded Nov 25, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT
Reel/Frame 051110/0006 →
SECURITY INTEREST Recorded Nov 22, 2019
From: ROVI SOLUTIONS CORPORATION; ROVI TECHNOLOGIES CORPORATION; ROVI GUIDES, INC.; TIVO SOLUTIONS, INC.; VEVEO, INC.
To: HPS INVESTMENT PARTNERS, LLC, AS COLLATERAL AGENT
Reel/Frame 051143/0468 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 10, 2018
From: PICHAIMURTHY, RAJENDRAN; SEETHARAM, MADHUSUDHAN; SREEKANTH, HARSHITH KUMAR GEJJEGONDANAHALLY
To: ROVI GUIDES, INC.
Reel/Frame 047118/0678 →
Continuity (1)
Related Publication 20200107062A1 · Apr 2, 2020
Cited By (1)
US 12,684,188