Manifest Manipulator for Streaming Content Switching
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In adaptive bitrate streaming protocols like HTTP Live Streaming (HLS), once a manifest is delivered to a client, it cannot be altered by the server, leading to delays and user frustration when changing content, as the server must wait for the client to request an updated manifest, resulting in wasted bandwidth and storage.
Innovation Solution
An intelligent streaming server or edge cache can substitute different content without changing the manifest, by delivering a segment of a different file with the same length and renaming it to match the requested segment, allowing for seamless switching between live and alternate content without modifying the client or departing from the inviolate manifest protocol.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the server waits for the client to request an updated manifest to change content, then the manifest protocol remains inviolate and clients remain synchronized, but content switching delays occur and user frustration increases
Solution Approach 1:
The patent introduces a manifest manipulator as an intermediary component that sits between the client and the streaming server. This manipulator intercepts client requests for segments identified in the manifest and can substitute alternate content from a different stream without requiring manifest updates. The manipulator effectively mediates the interaction, allowing content substitution while maintaining protocol compliance, thus resolving the contradiction between maintaining inviolate manifests and enabling fast content switching.
2Reliability
If the server provides different streaming content by waiting for manifest expiration, then protocol compliance is maintained, but bandwidth and storage space are wasted
Solution Approach 1:
The manifest manipulator acts as an intermediary that enables content substitution without protocol violations. By intercepting segment requests and providing alternate content directly, it eliminates the need to wait for manifest expiration, thereby preventing bandwidth waste from retransmitting full manifests and avoiding unnecessary storage consumption at client devices.
Solution Approach 2:
The system creates a virtual copy of the manifest processing function through the manipulator, which can serve alternate content segments that mimic the structure and timing of original segments. This copying approach allows content substitution without requiring actual manifest updates, reducing bandwidth and storage waste while maintaining protocol compliance.
3Productivity
If the server substitutes different content without changing the manifest, then fast content switching is enabled, but the server gains access to client-side manifest which may compromise protocol security
Solution Approach 1:
The manifest manipulator is positioned as an intermediary between the client and server, intercepting requests before they reach the server. This allows the manipulator to substitute content based on manifest information without the server needing direct access to client-side manifests, thereby maintaining protocol security while enabling fast content switching.
Data Source
AI summary
The present disclosure provides systems and methods for interrupting streaming content provided via a manifest inviolate protocol. An intelligent streaming server or edge cache may substitute different content than that which is requested, without the client's knowledge. In some implementations, the client may request a first segment of a file or stream, and the streaming server may instead deliver a segment of an entirely different file or stream. The replacement segment may have the same length as the requested segment, and may be renamed such that the client believes that the requested segment has been properly served. Accordingly, without changing the manifest or departing from the requirements of the manifest-inviolate protocol and without changing any functionality of the client, a system may provide content switching on a per-segment basis, rather than a per-manifest basis.


