IP Library › Granted Patent US 12,375,737
Granted Patent B1
US 12,375,737 · App. 18/421,585 · Granted Jul 29, 2025

System and methods for providing a converged advertisement insertion architecture in a content delivery network

Inventors: David W. Chen (Aurora, CO); Timothy Whitton (Aurora, CO); David E. Agranoff (Golden, CO); Manuel Martinez (Beaverton, OR); Vipul Patel (Parker, CO)
Assignee: Charter Communications Operating, LLC
H04N21/23424H04N21/4331
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,375,737
App. No.
18/421,585
Granted
Jul 29, 2025
Kind
B1
Abstract

Systems, methods, and devices for supporting advertisement (ad) insertion into a media stream. The device receives notification of an upcoming ad break within the media stream, determines whether the upcoming ad break contains only pre-scheduled spots, and if the upcoming ad break does not contain only pre-scheduled spots, determines whether the upcoming ad break includes any addressable spot based on a broadcasting schedule stored on the device. Otherwise, the device sends a request with information about the at least one addressable spot and the upcoming ad break to an ADS proxy hosted by a client ad server unit within the content delivery network, receives a response message from the ADS proxy identifying a default asset for each addressable spot, retrieves the at least one default asset from a content distribution network, and sends the at least one default asset to a splicer for insertion within the media stream.

Claims (106)

1. A method of supporting advertisement (ad) insertion into a media stream within a content delivery network, the method comprising:

receiving, by one or more server computing device in the content delivery network, notification of an upcoming ad break within the media stream;

determining, by the one or more server computing device, whether the upcoming ad break contains only pre-scheduled spots; and

in response to determining that the upcoming ad break does not contain only pre-scheduled spots:

determining, by the one or more server computing device, whether the upcoming ad break includes any addressable spot based on a broadcasting schedule stored on the one or more server computing device; and

in response to determining that the upcoming ad break includes at least one addressable spot:

sending, by the one or more server computing device, a request with information about the at least one addressable spot and the upcoming ad break to an ad decision server proxy (ADS proxy) hosted by a client ad server unit within the content distribution network;

receiving, by the one or more server computing device, a response message from the ADS proxy, wherein the response message identifies a default asset for each of the at least one addressable spot;

retrieving, by the one or more server computing device, the at least one default asset from a content distribution network (CDN); and

sending, by the one or more server computing device, the at least one default asset to a splicer for insertion within the media stream.

2. The method of claim 1 , wherein the response message from the ADS proxy includes a placeholder for any pre-scheduled spot within the upcoming ad break.

3. The method of claim 1 , wherein:

sending the request with information about the at least one addressable spot and the upcoming ad break to the ADS proxy comprises sending a video ad serving template (VAST) request message; and

receiving the response message from the ADS proxy comprises receiving a VAST response generated by the ad decision server.

4. The method of claim 1 , wherein retrieving the at least one default asset from the CDN comprises:

determining, by the one or more computing device, whether the at least one default asset is available in a local cache from previous download; and

downloading, by the one or more computing device, the at least one default asset from the CDN in response to determining that the at least one default asset is not available in a local cache.

5. The method of claim 1 , further comprising, in response to determining that the upcoming ad break contains only pre-scheduled spots:

identifying, by the one or more one server computing device, a pre-selected asset for each spot in the upcoming ad break based on the broadcasting schedule;

retrieving, by the one or more server computing device, the identified pre-selected assets from the CDN; and

sending, by the one or more server computing device, the pre-selected assets to the splicer for insertion within the content stream.

6. The method of claim 5 , wherein retrieving the identified pre-selected assets from the CDN comprises:

determining, by the one or more computing device, whether each identified pre-selected asset is available in a local cache from a previous download; and

downloading from the CDN, by the one or more computing device, any pre-selected asset not available in a local cache from a previous download.

7. The method of claim 1 , further comprising, in response to determining that the upcoming ad break does not include any addressable spots:

sending, by the one or more computing device, a request to the ad decision server, wherein the request includes information identifying all dynamic spots within the upcoming ad break;

receiving, by the one or more computing device, a response message from the ad decision server identifying a default asset for each dynamic spot within the upcoming ad break;

retrieving, by the one or more computing device, the identified default asset for each dynamic spot; and

sending, by the one or more server computing device, the retrieved default assets for each dynamic spot to the splicer for insertion within the content stream.

8. The method of claim 7 , wherein the response from the ad decision server includes a placeholder for any pre-scheduled spot within the upcoming ad break.

9. The method of claim 7 , wherein retrieving the identified default asset for each dynamic spot comprises:

determining, by the one or more computing device, whether the identified default asset is available in a local cache from a previous download; and

downloading, by the one or more computing device, the identified default asset from the CDN in response to determining that the identified default asset is not available in a local cache from a previous download.

10. The method of claim 7 , wherein:

the request sent to the ad decision server comprises a video ad serving template (VAST) request message; and

the response message received from the ad decision server identifying a default asset for each dynamic spot comprises a VAST response message.

11. The method of claim 1 , further comprising:

downloading, by the one or more server computing device, the broadcasting schedule from the ad decision server.

12. A server computing device, comprising:

a processor configured with processor-executable instructions to:

receive notification of an upcoming advertisement (ad) break in a media stream within a content delivery network;

determine whether the upcoming ad break contains only pre-scheduled spots; and

in response to determining that the upcoming ad break does not contain only pre-scheduled spots:

determine whether the upcoming ad break includes any addressable spot based on a stored broadcasting schedule; and

in response to determining that the upcoming ad break includes at least one addressable spot:

send a request with information about the at least one addressable spot and the upcoming ad break to an ad decision server proxy (ADS proxy) hosted by a client ad server unit within the content delivery network;

receive a response message from the ADS proxy, wherein the response message identifies a default asset for each of the at least one addressable spot;

retrieve the at least one default asset from a content distribution network (CDN); and

send the at least one default asset to a splicer for insertion within the media stream.

13. The server computing device of claim 12 , wherein the response message from the ADS proxy includes a placeholder for any pre-scheduled spot within the upcoming ad break.

14. The server computing device of claim 12 , wherein:

the request with information about the at least one addressable spot and the upcoming ad break sent to the ADS proxy comprises a video ad serving template (VAST) request message; and

the response message from the ADS proxy comprises a VAST response generated by the ad decision server.

15. The server computing device of claim 12 , wherein the processor is configured to retrieve the at least one default asset from the CDN by:

determining whether the at least one default asset is available in a local cache from previous download; and

downloading the at least one default asset from the CDN in response to determining that the at least one default asset is not available in a local cache.

16. The server computing device of claim 12 , wherein the processor is further configured with processor-executable instructions to, in response to determining that the upcoming ad break contains only pre-scheduled spots:

identify a pre-selected asset for each spot in the upcoming ad break based on the broadcasting schedule;

retrieve the identified pre-selected assets from the CDN; and

send the pre-selected assets to the splicer for insertion within the content stream.

17. The server computing device of claim 16 , wherein the processor is configured to retrieve the identified pre-selected assets from the CDN by:

determining whether each identified pre-selected asset is available in a local cache from a previous download; and

downloading from the CDN any pre-selected asset not available in a local cache from a previous download.

18. The server computing device of claim 12 , wherein the processor is further configured with processor-executable instructions to, in response to determining that the upcoming ad break does not include any addressable spots:

send a request to the ad decision server, wherein the request includes information identifying all dynamic spots within the upcoming ad break;

receive a response message from the ad decision server identifying a default asset for each dynamic spot within the upcoming ad break;

retrieve the identified default asset for each dynamic spot; and

send the retrieved default assets for each dynamic spot to the splicer for insertion within the content stream.

19. The server computing device of claim 18 , wherein the response from the ad decision server includes a placeholder for any pre-scheduled spot within the upcoming ad break.

20. The server computing device of claim 18 , wherein the processor is configured to retrieve the identified default asset for each dynamic spot by:

determining whether the identified default asset is available in a local cache from a previous download; and

downloading the identified default asset from the CDN in response to determining that the identified default asset is not available in a local cache from a previous download.

21. The server computing device of claim 18 , wherein:

the request sent to the ad decision server comprises a video ad serving template (VAST) request message; and

the response message received from the ad decision server identifying a default asset for each dynamic spot comprises a VAST response message.

22. The server computing device of claim 12 , wherein the processor is further configured with processor-executable instructions to download the broadcasting schedule from the ad decision server.

23. A non-transitory computer readable storage medium having stored thereon processor-executable software instructions configured to cause a server processor to perform operations for supporting advertisement (ad) insertion into a media stream within a content delivery network, the operations comprising:

receiving notification of an upcoming ad break within the media stream;

determining whether the upcoming ad break contains only pre-scheduled spots; and

in response to determining that the upcoming ad break does not contain only pre-scheduled spots:

determining whether the upcoming ad break includes any addressable spot based on a broadcasting schedule stored on the one or more server computing device; and

in response to determining that the upcoming ad break includes at least one addressable spot:

sending a request with information about the at least one addressable spot and the upcoming ad break to an ad decision server proxy (ADS proxy) hosted by a client ad server unit within the content delivery network;

receiving a response message from the ADS proxy, wherein the response message identifies a default asset for each of the at least one addressable spot;

retrieving the at least one default asset from a content distribution network (CDN); and

sending the at least one default asset to a splicer for insertion within the media stream.

24. The non-transitory computer readable storage medium of claim 23 , wherein the stored processor-executable software instructions are configured to cause the server processor to perform operations such that the response message from the ADS proxy includes a placeholder for any pre-scheduled spot within the upcoming ad break.

25. The non-transitory computer readable storage medium of claim 23 , wherein:

the request with information about the at least one addressable spot and the upcoming ad break sent to the ADS proxy comprises a video ad serving template (VAST) request message; and

the response message from the ADS proxy comprises a VAST response generated by the ad decision server.

26. The non-transitory computer readable storage medium of claim 23 , wherein the stored processor-executable software instructions are configured to cause the server processor to perform operations such that retrieving the at least one default asset from the CDN comprises:

determining whether the at least one default asset is available in a local cache from previous download; and

downloading the at least one default asset from the CDN in response to determining that the at least one default asset is not available in a local cache.

27. The non-transitory computer readable storage medium of claim 23 , wherein the stored processor-executable software instructions are configured to cause the server processor to perform operations further comprising, in response to determining that the upcoming ad break contains only pre-scheduled spots:

identifying a pre-selected asset for each spot in the upcoming ad break based on the broadcasting schedule;

retrieving the identified pre-selected assets from the CDN; and

sending the pre-selected assets to the splicer for insertion within the content stream.

28. The non-transitory computer readable storage medium of claim 27 , wherein the stored processor-executable software instructions are configured to cause the server processor to perform operations such that retrieving the identified pre-selected assets from the CDN comprises:

determining whether each identified pre-selected asset is available in a local cache from a previous download; and

downloading from the CDN any pre-selected asset not available in a local cache from a previous download.

29. The non-transitory computer readable storage medium of claim 23 , wherein the stored processor-executable software instructions are configured to cause the server processor to perform operations further comprising, in response to determining that the upcoming ad break does not include any addressable spots:

sending a request to the ad decision server, wherein the request includes information identifying all dynamic spots within the upcoming ad break;

receiving a response message from the ad decision server identifying a default asset for each dynamic spot within the upcoming ad break;

retrieving the identified default asset for each dynamic spot; and

sending the retrieved default assets for each dynamic spot to the splicer for insertion within the content stream.

30. The non-transitory computer readable storage medium of claim 29 , wherein the response from the ad decision server includes a placeholder for any pre-scheduled spot within the upcoming ad break.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 25, 2024
From: CHEN, DAVID W.; WHITTON, TIMOTHY; AGRANOFF, DAVID E.; MARTINEZ, MANUEL; PATEL, VIPUL
To: CHARTER COMMUNICATIONS OPERATING, LLC
Reel/Frame 066238/0147 →
References Cited (6)
US 8316392B2 · Ahanger et al. · 2012 [cited by applicant]
US 10063612B2 · Brinkley et al. · 2018 [cited by applicant]
US 10469882B2 · Pathak et al. · 2019 [cited by applicant]
US 10536755B1 · Neill et al. · 2020 [cited by applicant]
US 10911794B2 · Badawiyeh et al. · 2021 [cited by applicant]
US 20230199235A1 · Giladi · 2023 [cited by applicant]