Dynamic Content Insertion in Streaming Media via Manifest Segmentation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current streaming media systems are limited in dynamically inserting content, such as targeted advertisements, due to the need for predefined manifests and the inability to respond to viewer demographics, time, or other properties in real-time, especially during live events or when playback is resumed after a pause.

Innovation Solution

A system and method that provide a manifest with meta URIs to a dynamic content decisioning server, allowing for the selection and insertion of content based on viewer demographics, location, and other criteria during playback, enabling dynamic content insertion without requiring new manifests for each viewer or event.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If predefined manifests are used to define streaming media chunks, then the system can deliver content reliably, but the system cannot dynamically insert content based on viewer demographics or real-time events

Engineering Contradiction:
Improvedynamic content insertion capabilityVSAvoidmanifest management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The manifest is segmented into two distinct parts: a static manifest portion that defines the core streaming media chunks and structure, and a dynamic portion that contains placeholders and metadata for inserted content. This segmentation allows the static portion to be prepared in advance while the dynamic portion can be populated in real-time based on viewer demographics, location, and events, resolving the contradiction between reliability and adaptability.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The static manifest portion is prepared in advance before streaming begins, defining the structure and core content chunks. This preliminary action ensures reliable delivery of the base content while leaving reserved slots and metadata structures in place that can be dynamically populated later with targeted advertisements and inserted content based on real-time viewer information.

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If a new manifest is created for each viewer to enable personalized content, then content personalization is achieved, but the system cannot respond in real-time during live events or playback resumption

Engineering Contradiction:
Improveresponse time for content personalizationVSAvoidmanifest creation throughput
Core Design Contradiction:
Loss of timeVSProductivity

Solution Approach 1:

A single static manifest structure serves multiple viewers simultaneously, defining the common streaming media framework. The dynamic portion of the manifest is universally structured with placeholders that can be independently populated for each viewer based on their demographics, location, and real-time context, enabling personalization without requiring separate manifest creation for each viewer.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

A server acts as an intermediary between the static manifest distribution and dynamic content insertion. The server receives the static manifest, populates the dynamic portions with personalized content based on viewer information, and delivers the customized manifest to individual players. This intermediary approach enables real-time personalization without requiring each player to independently create manifests, maintaining high throughput while achieving personalization.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Ease of operation

If the system uses pull technology for content delivery, then the player can request content as needed, but the system cannot proactively insert relevant content at optimal moments

Engineering Contradiction:
Improvecontent delivery flexibilityVSAvoidreal-time content selection capability
Core Design Contradiction:
Ease of operationVSAdaptability or versatility

Solution Approach 1:

The system implements feedback mechanisms where the player continuously reports viewer information, playback position, and device characteristics to the server. The server uses this feedback to dynamically determine which content should be inserted at current playback positions, enabling real-time content selection that adapts to viewer context while maintaining the flexible pull-based delivery architecture.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The manifest structure is made dynamic by separating static definitions from dynamic content placeholders. The static portion remains fixed for reliable delivery, while the dynamic portions are continuously updated based on real-time viewer information and playback state, allowing the system to maintain pull technology flexibility while gaining real-time content selection capability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentEP2880869B1Method and system for dynamically inserting content into streaming media
Publication Date: 2019.11.20 GOOGLE LLC
  • EP2880869B1 patent drawingFigure 1
  • EP2880869B1 patent drawingFigure 2

AI summary

The present invention teaches a method and system for dynamically inserting content into a streaming media program. The system and method provide a program manifest to rendering devices requesting a streaming media program and that manifest can include identifiers which point to main program content on a content delivery network and includes meta identifiers which point to a dynamic content decisioning server or equivalent. The dynamic content decisioning server receives requests for the content indicated by the meta identifiers and operates to dynamically select content, from a dynamic content delivery network, to fulfill the requests. The selection can be based upon a variety of criteria, including viewer and/or rendering device demographics, advertiser campaign strategies, etc. Thus two or more rendering devices playing streaming media defined by the same manifest may render different inserted content for their viewers. Similarly, a program rendered from a manifest at one point in time may have different inserted content than the same program rendered by the same rendering device at another time.