IP Library Granted Patent US 12,056,738
Granted Patent B2
US 12,056,738 · App. 18/357,865 · Granted Aug 6, 2024

Live ad processing engine service

Inventors: Albert John McGowan (Phoenix, AZ); Nicholas Maultsby (Phoenix, AZ); Niko T. J. Huffman (Chandler, AZ); Christian D. Moosman (Phoenix, AZ)
Assignee: ADEIA MEDIA HOLDINGS LLC
G06Q30/0264H04N21/23424H04N21/44016H04N21/812H04N21/2393H04N21/262
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,056,738
App. No.
18/357,865
Granted
Aug 6, 2024
Kind
B2
Abstract

Techniques described herein provide for a live advertising processing engine service to act as an intermediary between client applications and advertising networks. The live advertising processing engine service can provide an interface with which the client can interact, via an application programming interface (API) or directly through the use of a standardized language, thereby allowing client applications to receive advertisement data without the need to be customized to communicate with specific advertising networks. The live advertising processing engine service can further track where, in playback the live content, a client currently is, to indicate to the client—or other application—when advertisement breaks are and/or provide supplemental advertisement information to enable the client to provide a rich user experience.

Claims (84)

1. A method of providing advertising data related to live media content via a data communications network, the method comprising:

receiving, at one or more servers, a stream of data representing the live media content, wherein the stream includes a plurality of chunks of the live media content transcoded, by a media provider, for making the stream downloadable by a client device;

receiving, at the one or more servers, an indication of a period of time in the live media content designated for advertising;

determining, with the one or more servers, a time, in the live media content, at which the client device began receiving the live media content;

sending, from the one or more servers to the client device via a communication interface, a manifest file having the indication of the period of time and for a set of predetermined behaviors implemented by the client device, wherein:

the indication of the period of time is based on a determined time when the client device can begin consuming the live media content and the indication of the period of time in the live media content designated for the advertising, and

the period of time accounts for a delay caused while transcoding the plurality of chunks;

receiving, by the one or more servers from the client device, a request for the advertising in playback of the live media content, wherein the request leads to an updated manifest file indicating locations of each of the plurality of chunks;

providing, by the one or more servers to the client device, the manifest file to download each of the plurality of chunks to stream the live media content;

sending, from the one or more servers to one or more advertising networks prior to a time of an advertising break in the live media content, the request for the advertising to fill the time of the advertising break based one or more business rules defined on a per live stream basis and the manifest file; and

providing by the one or more servers to the client device, a response in a standardized format for the advertising in the playback of the live media content, wherein a token:

is used in coordinating the response to the client device,

considers an amount by which a session time of the client device is offset from real time by examining timestamps during the playback of the live media content at the client device, and

is utilized on subsequent requests of a play session for the client device to correctly set the session time.

2. The method of providing advertising data related to live media content via a data communications network as recited in claim 1 , wherein the token is used in coordinating all responses to the client device.

3. The method of providing advertising data related to live media content via a data communications network as recited in claim 1 , the advertising is updated and subject to business rules such that, two users viewing the live media content at different times and/or in different locations see different advertisements.

4. The method of providing advertising data related to live media content via a data communications network as recited in claim 1 , further comprising providing the indication of the period of time in Digital Video Multiple Ad Playlist (VMAP) format.

5. The method of providing advertising data related to live media content via a data communications network as recited in claim 1 , wherein the set of predetermined behaviors includes at least one of:

displaying an interstitial banner,

displaying overlay advertisements,

blocking fast forward controls,

enabling interactive content, and

providing tracking beacons to monitor a corresponding playback experience of a user.

6. The method of providing advertising data related to live media content via a data communications network as recited in claim 1 , wherein the updated manifest file includes an indicator of location of chunks of advertising content.

7. The method of providing advertising data related to live media content via a data communications network as recited in claim 1 , wherein the token:

considers an amount by which a session time of the client device is offset from real time by examining timestamps embedded in a live stream; and

notes a difference in time from a start consumption of the live stream at the client device.

8. A computer-program product tangibly embodied in a non-transitory machine-readable storage medium, including instructions configured to cause one or more servers to perform a set of actions including:

receiving, at one or more servers, a stream of data representing live media content, wherein the stream includes a plurality of chunks of the live media content transcoded, by a media provider, for making the stream downloadable by a client device;

receiving, at the one or more servers, an indication of a period of time in the live media content designated for advertising;

determining, with the one or more servers, a time, in the live media content, at which the client device began receiving the live media content;

sending, from the one or more servers to the client device via a communication interface, a manifest file having the indication of the period of time and for a set of predetermined behaviors implemented by the client device, wherein:

the indication of the period of time is based on a determined time when the client device can begin consuming the live media content and the indication of the period of time in the live media content designated for the advertising, and

the period of time accounts for a delay caused while transcoding the plurality of chunks;

receiving, by the one or more servers from the client device, a request for the advertising in playback of the live media content, wherein the request leads to an updated manifest file indicating locations of each of the plurality of chunks;

providing, by the one or more servers to the client device, the manifest file to download each of the plurality of chunks to stream the live media content;

sending, from the one or more servers to one or more advertising networks prior to a time of an advertising break in the live media content, the request for the advertising to fill the time of the advertising break based one or more business rules defined on a per live stream basis and the manifest file; and

providing by the one or more servers to the client device, a response in a standardized format for the advertising in the playback of the live media content, wherein a token:

is used in coordinating the response to the client device,

considers an amount by which a session time of the client device is offset from real time by examining timestamps during the playback of the live media content at the client device, and

is utilized on subsequent requests of a play session for the client device to correctly set the session time.

9. The computer-program product tangibly embodied in a non-transitory machine-readable storage medium as recited in claim 8 , wherein the token is used in coordinating all responses to the client device.

10. The computer-program product tangibly embodied in a non-transitory machine-readable storage medium as recited in claim 8 , wherein the advertising is updated and subject to business rules such that, two users viewing the live media content at different times and/or in different locations see different advertisements.

11. The computer-program product tangibly embodied in a non-transitory machine-readable storage medium as recited in claim 8 , wherein the instructions are further configured to cause one or more servers to provide the indication of the period of time in Digital Video Multiple Ad Playlist (VMAP) format.

12. The computer-program product tangibly embodied in a non-transitory machine-readable storage medium as recited in claim 8 , wherein the instructions are further configured to cause one or more servers to perform the set of predetermined behaviors to include at least one of:

displaying an interstitial banner,

displaying overlay advertisements,

blocking fast forward controls,

enabling interactive content, and

providing tracking beacons to monitor a corresponding playback experience of a user.

13. The computer-program product tangibly embodied in a non-transitory machine-readable storage medium as recited in claim 8 , wherein the updated manifest file includes an indicator of location of chunks of advertising content.

14. The computer-program product tangibly embodied in a non-transitory machine-readable storage medium as recited in claim 8 , wherein the token:

considers an amount by which a session time of the client device is offset from real time by examining timestamps embedded in a live stream; and

notes a difference in time from a start consumption of the live stream at the client device.

15. A server configured to provide advertising data related to live media content via a data communications network, the server comprising:

a communication interface;

a processing unit communicatively coupled with the communication interface; and

a memory communicatively coupled with the processing unit and having instructions embedded thereon which, when executed by the processing unit, cause one or more servers to perform functions including:

receiving, at one or more servers, a stream of data representing the live media content, wherein the stream includes a plurality of chunks of the live media content transcoded, by a media provider, for making the stream downloadable by a client device;

receiving, at the one or more servers, an indication of a period of time in the live media content designated for advertising;

determining, with the one or more servers, a time, in the live media content, at which the client device began receiving the live media content;

sending, from the one or more servers to the client device via a communication interface, a manifest file having the indication of the period of time and for a set of predetermined behaviors implemented by the client device, wherein:

the indication of the period of time is based on a determined time when the client device can begin consuming the live media content and the indication of the period of time in the live media content designated for the advertising, and

the period of time accounts for a delay caused while transcoding the plurality of chunks;

receiving, by the one or more servers from the client device, a request for the advertising in playback of the live media content, wherein the request leads to an updated manifest file indicating locations of each of the plurality of chunks;

providing, by the one or more servers to the client device, the manifest file to download each of the plurality of chunks to stream the live media content;

sending, from the one or more servers to one or more advertising networks prior to a time of an advertising break in the live media content, the request for the advertising to fill the time of the advertising break based one or more business rules defined on a per live stream basis and the manifest file; and

providing by the one or more servers to the client device, a response in a standardized format for the advertising in the playback of the live media content, wherein a token:

is used in coordinating the response to the client device,

considers an amount by which a session time of the client device is offset from real time by examining timestamps during the playback of the live media content at the client device, and

is utilized on subsequent requests of a play session for the client device to correctly set the session time.

16. The server configured to provide advertising data related to live media content via the data communications network as recited in claim 15 , wherein the token is used in coordinating all responses to the client device.

17. The server configured to provide advertising data related to live media content via the data communications network as recited in claim 15 , wherein the advertising is updated and subject to business rules such that, two users viewing the live media content at different times and/or in different locations see different advertisements.

18. The server configured to provide advertising data related to live media content via the data communications network as recited in claim 15 , further comprising providing the indication of the period of time in Digital Video Multiple Ad Playlist (VMAP) format.

19. The server configured to provide advertising data related to live media content via the data communications network as recited in claim 15 , wherein the memory further includes instructions for defining the set of predetermined behaviors to include at least one of the set of predetermined behaviors to include at least one of:

displaying an interstitial banner,

displaying overlay advertisements,

blocking fast forward controls,

enabling interactive content, and

providing tracking beacons to monitor a corresponding playback experience of a user.

20. The server configured to provide advertising data related to live media content via the data communications network as recited in claim 15 , wherein the updated manifest file includes an indicator of location of chunks of advertising content.

21. The server configured to provide advertising data related to live media content via the data communications network as recited in claim 15 , wherein the token:

considers an amount by which a session time of the client device is offset from real time by examining timestamps embedded in a live stream; and

notes a difference in time from a start consumption of the live stream at the client device.

Assignments (6)
CHANGE OF NAME Recorded Mar 31, 2026
From: ADEIA MEDIA HOLDINGS LLC
To: ADEIA MEDIA HOLDINGS INC.
Reel/Frame 075304/0073 →
SECURITY INTEREST Recorded May 28, 2025
From: ADEIA INC. (F/K/A XPERI HOLDING CORPORATION); ADEIA HOLDINGS INC.; ADEIA MEDIA HOLDINGS INC.; ADEIA IMAGING LLC; ADEIA MEDIA LLC; ADEIA MEDIA SOLUTIONS INC.; ADEIA SEMICONDUCTOR BONDING TECHNOLOGIES INC.; ADEIA TECHNOLOGIES INC.; ADEIA GUIDES INC.; ADEIA SOLUTIONS LLC; ADEIA SEMICONDUCTOR ADVANCED TECHNOLOGIES INC.; ADEIA SEMICONDUCTOR SOLUTIONS LLC; ADEIA SEMICONDUCTOR INTELLECTUAL PROPERTY LLC; ADEIA SEMICONDUCTOR TECHNOLOGIES LLC; ADEIA PUBLISHING INC.
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 071454/0343 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2024
From: BRIGHTCOVE INC.
To: ADEIA MEDIA HOLDINGS LLC
Reel/Frame 067609/0435 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2023
From: MCGOWAN, ALBERT JOHN; MAULTSBY, NICHOLAS; HUFFMAN, NIKO T.J.; MOOSMAN, CHRISTIAN D.
To: UNICORN MEDIA, INC.
Reel/Frame 065180/0878 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2023
From: UNICORN MEDIA, INC.
To: CACTI ACQUISITION LLC
Reel/Frame 065181/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 11, 2023
From: CACTI ACQUISITION LLC
To: BRIGHTCOVE INC.
Reel/Frame 065181/0132 →
Cited By (1)
US 12,587,698