IP Library Granted Patent US 10,205,976
Granted Patent B2
US 10,205,976 · App. 15/792,298 · Granted Feb 12, 2019

Stream boundary marking for dynamic content replacement

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 10,205,976
App. No.
15/792,298
Granted
Feb 12, 2019
Kind
B2
Abstract

The implementation provides for controlled dynamic content replacement within media content. The media content is encoded in its original form with markers marking segments for time or condition triggered replacement. Each marker is provided a type. A request link is generated for requesting the media content. The link encodes control data for the different marker types. In response to a media content request, the server scans encoded chunks of the media content for markers. From the request link, the server obtains the control data for an identified marker type and determines whether to replace the content based on triggering of the control data. This allows advertising content to remain as part of the media content until reaching a certain number of impressions or a certain time. Thereafter, the content is dynamically replaced with temporally relevant content or other content from an ongoing campaign during real-time media content playback.

Claims (38)

1. A method comprising:

adding start and end markers at different points of media content, wherein the media content comprises at least a first media segment, encoding a first set of frames, before said start marker and a second media segment, encoding a second set of frames, between said start and end markers, and wherein the start marker is associated with a particular type definition;

receiving a first client request for said media content from a client device, the first client request comprising a type definition and a first value associated with the type definition;

beginning streaming of the media content to the client device in response to the client request by serving the first media segment;

detecting the start marker in the media content and the particular type definition associated with the start marker matching the type definition from the client request; and

continuing said streaming of the media content to the client device by serving a third media segment, as a substitute for the second media segment, in response to the matching of the type definition of the first client request with the particular type definition associated with the start marker triggering substitution of the second media segment, and said first value of the first client request being used in selecting the third media segment.

2. The method of claim 1 , wherein each of the first media segment, the second media segment, and the third media segment comprises at least two different video frames.

3. The method of claim 1 further comprising receiving a second client request comprising the request type definition matching the particular type definition associated with the start marker, and a different second value associated with the type definition.

4. The method of claim 3 further comprising serving over the digital network in response to the second client request, the first media segment and a fourth media segment as a substitute for the second media segment based on matching the type definition of the second client request with the particular type definition associated with the start marker, and further based on said second value associated with the type definition of the second request being used in selecting the fourth media segment.

5. The method of claim 3 , wherein the media content further comprises a fourth media segment immediately following the second media segment after the end marker, and the method further comprising serving over the digital network in response to the second client request, the first media segment immediately followed by the fourth media segment with the second media segment removed based on said second value associated with the type definition of the second request specifying removal of the second media segment from the media content.

6. The method of claim 1 , wherein the second media segment is an original advertisement presented with an original presentation of the media content, and the third media segment is a new advertisement selected based on a time at which the media content is replayed in response to said receiving.

7. The method of claim 1 , wherein the first client request comprises (i) a Uniform Resource Locator (URL) linking to said media content, and (ii) URL query string parameters specifying the type definition and the first value associated with the type definition.

8. The method of claim 1 , wherein said adding comprises entering the start marker as first metadata at a first time in the media content, and entering the end marker as second metadata at a later second time in the media content.

9. The method of claim 1 further comprising receiving at a different time than said receiving the first client request, a second client request comprising the type definition matching the particular type definition associated with the first marker and said value associated with the type definition, and serving over the digital network in response to the second client request, the first media segment and the second media segment without modification, wherein the first value comprises a condition that is not satisfied upon receiving the second client request and that is satisfied upon receiving the first client request.

10. A method comprising:

generating media content comprising a first media segment, a second media segment, and a third media segment;

defining a first boundary spanning a start and an end of said second media segment with a particular identifier that is used to trigger an action associated with the first boundary in a client request for the media content;

receiving from a client device, a client request comprising a link to the media content, the particular identifier for trigging an action associated with the first boundary, and a parameter associated with the particular identifier, the parameter triggering over the first boundary one of a retain action, a replace action, or an ignore action; and

modifying the media content provided in response to the client request based on the parameter associated with the particular identifier in the client request, wherein said modifying comprises:

sending to the client device, the first media segment, the second media segment, and the third media segment unmodified in response to the parameter of the client request having a first value triggering the retain action;

sending to the client device, the first media segment, a different fourth media segment as a substitute for the second media segment, and the third media segment in response to the parameter of the client request having a different second value triggering the replace action; and

sending to the client device, the first media segment and the third media segment without the second media segment in response to the parameter of the client request having a different third value triggering the ignore action.

11. The method of claim 10 further comprising retrieving the different fourth media segment from an external server based on the second value of said parameter.

12. The method of claim 10 further comprising selecting the fourth media segment from a plurality of substitute media segments based on the second value of said parameter, and selecting a fifth media segment from the plurality of substitute media segments based on a fourth value of said parameter triggering the replace action.

13. The method of claim 10 further comprising changing client access to the media content by distributing to a plurality of clients, a URL linking to the media content and comprising the particular identifier and the parameter with the first value during a first time interval, and by further distributing to the plurality of clients, said URL linking to the media content and comprising the particular identifier and the parameter with one of the second value or the third value during a second time interval after the first time interval.

14. The method of claim 10 , wherein said generating comprises encoding the media content as a plurality of slices, wherein each slice of the plurality of slices encodes a sub-duration of the media content, and wherein the plurality of slices comprises at least a first set of slices encoding the first media segment, a second set of slices encoding the second media segment, and a third set of slices encoding the third media segment.

15. The method of claim 14 , wherein sending the first media segment, the fourth media segment as a substitute for the second media segment, and the third media segment comprises sending the first set of slices from said encoding, a different fourth set of slices generated from encoding the fourth media segment, and the third set of slices from said encoding.

16. The method of claim 14 , wherein a last slice of the first set of slices encodes a duration past the start of the first boundary, and wherein said defining comprises reencoding said last slice as a first slice and as a second slice, the first slice encoding a duration from a start of the last slice to the start of the first boundary, the second slice encoding a duration from the start of the first boundary to the end of the last slice, the first slice replacing the last slice in the first set of slices, the second slice prepending to the second set of slices.

17. A method comprising:

adding start and end markers at different points of media content, wherein the media content comprises at least a first media segment before said start marker and a second media segment between said start and end markers, and wherein the start marker comprises a particular type definition and a condition;

receiving, from a client device, a client request requesting said media content, the client request comprising a type definition; and

dynamically modifying the media content in response to said condition and said client request, wherein dynamically modifying the media content comprises:

beginning streaming of the media content to the client device by sending the first media segment;

detecting the start marker in the media content, the start marker associated with the particular type definition, and the type definition from the client request matching the particular type definition;

continuing streaming of the media content to the client device by sending the second media segment in response to the condition associated with the start marker being triggered by the type definition of the client request matching the particular type definition, and the condition not being satisfied; and

continuing streaming of the media content to the client device by sending a different third media segment as a substitute for the second media segment in response to the condition associated with the start marker being triggered by the type definition of the client request matching the particular type definition, and the condition being satisfied.

18. The method of claim 17 further comprising tracking satisfaction of said condition based on elapsed time from an original presentation of the media content.

19. The method of claim 17 , wherein dynamically modifying the media content further comprises replacing the second media segment between the start and end markers with the third media segment obtained from an advertisement server in response to the condition being satisfied.

Assignments (11)
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0406] Recorded Jul 9, 2025
From: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
To: UPLYNK, INC. (F/K/A EDGIO, INC.)
Reel/Frame 071875/0105 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 065597/0212] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071817/0877 →
PATENT SECURITY AGREEMENT Recorded Jul 3, 2025
From: UPLYNK, INC. (F/K/A EDGIO, INC.)
To: LYNROCK LAKE MASTER FUND LP
Reel/Frame 071817/0974 →
RELEASE OF PATENT SECURITY AGREEMENT [RECORDED AT REEL/FRAME 068763/0276] Recorded Jul 3, 2025
From: LYNROCK LAKE MASTER FUND LP
To: UPLYNK, INC. (F/K/A EDGIO, INC.); MOJO MERGER SUB, LLC
Reel/Frame 071818/0022 →
PATENT SECURITY AGREEMENT Recorded Aug 23, 2024
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 068763/0276 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: LYNROCK LAKE MASTER FUND LP [LYNROCK LAKE PARTNERS LLC, ITS GENERAL PARTNER]
Reel/Frame 065597/0212 →
PATENT SECURITY AGREEMENT Recorded Nov 15, 2023
From: EDGIO, INC.; MOJO MERGER SUB, LLC
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION
Reel/Frame 065597/0406 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 21, 2022
From: EDGECAST INC.
To: EDGIO, INC.
Reel/Frame 061738/0972 →
CHANGE OF NAME Recorded Mar 15, 2022
From: VERIZON DIGITAL MEDIA SERVICES INC.
To: EDGECAST INC.
Reel/Frame 059367/0990 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2017
From: OWEN, CALVIN RYAN; CORDOVA, FRED ROSS, JR.; BRUECK, DAVID FREDERICK
To: VERIZON PATENT AND LICENSING INC.
Reel/Frame 043939/0050 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 24, 2017
From: VERIZON PATENT AND LICENSING INC.
To: VERIZON DIGITAL MEDIA SERVICES INC.
Reel/Frame 043939/0067 →