IP Library Granted Patent US 11,710,151
Granted Patent B2
US 11,710,151 · App. 14/069,961 · Granted Jul 25, 2023

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: Brightcove Inc.
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 11,710,151
App. No.
14/069,961
Granted
Jul 25, 2023
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 (85)

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;

providing, with the one or more servers, an application programming interface (API) accessible, via the data communications network, to the client device;

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 an indication of the period of time in the live media content during which one or more of a set of predetermined behaviors described by the API can be implemented by the client device, wherein:

the indication of the period of time is based on the determined time at which the client device began 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 index file indicating the locations of each of the plurality of chunks;

providing, by the one or more servers to the client device, the index 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 during 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,

stores an amount by which a session time of the client device is offset from real time by examining embedded timestamps in a live stream at a time a play session initiates and noting their difference from a start of a client device consumption of the live media content, and

is utilized on subsequent requests of the play session for the client device to correctly set the session time at which the advertising break begins.

2. 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.

3. The method for providing advertising data via the data communications network as recited in claim 1 , further comprising determining the one or more advertising networks based on one or more business rules.

4. The method for providing advertising data via the data communications network as recited in claim 3 wherein the one or more business rules are determined based on a request from the client device for advertisement information.

5. The method for providing advertising data via the data communications network as recited in claim 3 further comprising:

receiving, from the one or more advertising networks, advertising information; and

sending, via the communication interface, an indication to the client device of which of the set of predetermined behaviors described by the API to implement, wherein the indication of the set of predetermined behaviors to implement is based on the advertising information.

6. The method for providing advertising data via the data communications network as recited in claim 5 , wherein the indication of the predetermined behaviors to implement includes the advertising information.

7. The method of providing advertising data related to live media content via a data communications network as recited in claim 1 , wherein the indication of the period of time in the live media content during which one or more of the set of predetermined behaviors described by the API can be implemented by the client device is provided in a comments portion of the manifest file.

8. A non-transitory computer-readable medium having instructions embedded thereon which, when executed by the one or more servers, cause one or more machines to perform the method recited in claim 1 .

9. 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 the server to perform functions including:

receiving 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 an indication of a period of time in the live media content designated for advertising;

providing an application programming interface (API) accessible, via the data communications network, to the client device;

determining, with the processing unit, a time, in the live media content, at which the client device began receiving the live media content;

sending, via the communication interface to the client device, a manifest file having an indication of the period of time in the live media content during which one or more of a set of predetermined behaviors described by the API can be implemented by the client device, wherein:

the indication of the period of time is based on the determined time at which the client device began 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 one or more servers from the client device, a request for the advertising in playback of the live media content;

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

sending, via the communication interface of the client device, during 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 on 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,

stores an amount by which a session time of the client device is offset from real time by examining embedded timestamps in a live stream at a time a play session initiates and noting their difference from a start of a client device consumption of the live media content, and

is utilized on subsequent requests of the play session for the client device to set the session time at which the advertising break begins.

10. The server configured to provide advertising data related to live media content via a data communications network as recited in claim 9 , wherein the memory further includes instructions for defining 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.

11. The server configured to provide advertising data related to live media content via a data communications network as recited in claim 9 , wherein the memory further includes instructions for determining one or more advertising networks based on the one or more business rules.

12. The server configured to provide advertising data related to live media content via a data communications network as recited in claim 11 , wherein the memory further includes instructions for determining the one or more business rules based on a request from the client device for advertisement information.

13. The server configured to provide advertising data related to live media content via a data communications network as recited in claim 11 , wherein the memory further includes instructions for:

receiving, from the one or more advertising networks, advertising information; and

sending, via the communication interface, an indication to the client device of which of the set of predetermined behaviors to implement described by the API to implement, wherein the indication of the predetermined behaviors to implement is based on the advertising information.

14. The server configured to provide advertising data related to live media content via a data communications network as recited in claim 13 , wherein the memory further includes instructions for including, in the indication of the predetermined behaviors to implement, the advertising information.

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

receiving 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 an indication of a period of time in the live media content designated for advertising;

determining, with 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 an indication of the period of time in the live media content during which one or more of a set of predetermined behaviors described by an application programming interface (API) can be implemented by the client device, wherein:

the indication of the period of time is based on the determined time at which the client device began 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 index file indicating the locations of each of the plurality of chunks;

providing, by the one or more servers to the client device, the index 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 during 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 on 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,

stores an amount by which a session time of the client device is offset from real time by examining embedded timestamps in a live stream at a time a play session initiates and noting their difference from a start of a client device consumption of the live media content, and

is utilized on subsequent requests of the play session for the client device to set the session time at which the advertising break begins.

16. The method of providing advertising data related to live media content via a data communications network as recited in claim 15 , 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.

17. The method for providing advertising data via the data communications network as recited in claim 15 , further comprising determining one or more advertising networks based on one or more business rules.

18. The method for providing advertising data via the data communications network as recited in claim 17 wherein the one or more business rules are determined based on a request from the client device for advertisement information.

19. The method for providing advertising data via the data communications network as recited in claim 17 further comprising:

receiving, from the one or more advertising networks, advertising information; and

including, in the manifest file, an indication of which of the set of predetermined behaviors to implement, based on the advertising information.

20. The method of providing advertising data via a data communications network as recited in claim 15 , wherein the indication of the period of time in the live media content during which one or more of the set of predetermined behaviors described by the API can be implemented by the client device is provided in a comments portion of the manifest file.

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 Jan 8, 2015
From: CACTI ACQUISITION LLC
To: BRIGHTCOVE INC.
Reel/Frame 034745/0158 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 30, 2014
From: UNICORN MEDIA. INC.
To: CACTI ACQUISITION LLC
Reel/Frame 032792/0728 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 1, 2013
From: MCGOWAN, ALBERT JOHN; MAULTSBY, NICHOLAS; HUFFMAN, NICO T.J.; MOOSMAN, CHRISTIAN D.
To: UNICORN MEDIA, INC.
Reel/Frame 031531/0526 →
Cited By (4)
US 12,542,955 US 12,581,172 US 12,587,698 US 12,593,081