Time-Associated Data Stream Fragmentation Framework
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Conventional media streaming frameworks are limited in allowing clients to consume media streams in real-time, as they can only join at the current time and miss previous portions of the stream, and are not well-suited for real-time media consumption.
Innovation Solution
A framework that fragments media streams into time-associated data and persists these fragments in a data store while relaying them to clients, allowing for both real-time and delayed consumption by forwarding fragments as they are received or loading stored fragments if a client joins late.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If media streams are sent using TCP for reliability, then data transmission reliability is improved, but latency increases
Solution Approach 1:
The patent segments media streams into discrete fragments with unique identifiers and timestamps. These fragments can be transmitted independently and reassembled by clients, allowing selective retransmission of only missing fragments rather than requiring reliable ordered delivery of entire streams, thus reducing latency while maintaining reliability
Solution Approach 2:
The system performs preliminary actions by pre-generating and storing media fragments in a data store before clients join. When clients connect, they can immediately retrieve fragments from the data store without waiting for real-time transmission, eliminating latency while ensuring reliable delivery through persistent storage
2Loss of time
If media streams are sent using UDP with lower latency, then latency is reduced, but errors or dropouts increase
Solution Approach 1:
Media fragments are pre-generated and stored in a data store before transmission. This preliminary action ensures that even if UDP transmission fails or drops packets, clients can retrieve complete fragments from persistent storage, maintaining reliability while using low-latency UDP for real-time delivery
Solution Approach 2:
The system creates multiple copies of media fragments - one copy is stored persistently in a data store, and another copy is transmitted via UDP to clients. This copying strategy ensures that if the UDP transmission fails, the persistent copy remains available for retrieval, reducing error impact while maintaining low latency
3Speed
If clients join a media stream in real-time, then real-time consumption is enabled, but clients miss previous portions of the stream
Solution Approach 1:
The media stream is segmented into discrete fragments with unique identifiers and timestamps. Clients can request specific fragments by their identifiers, allowing them to join at any point in the stream and retrieve only the fragments they need, rather than missing entire previous portions
Solution Approach 2:
Media fragments are pre-generated and stored in a data store with their metadata (including timestamps and unique identifiers) indexed. When clients join, they can query the data store for fragments within a specific time range and retrieve them immediately, enabling both real-time consumption and access to historical content without loss
4Adaptability or versatility
If individual copies of the stream are sent separately to each client in unicast, then client-specific delivery is achieved, but network bandwidth consumption increases
Solution Approach 1:
The system merges the delivery mechanism by storing a single master copy of each media fragment in a centralized data store. Multiple clients can independently retrieve fragments from this single stored copy, eliminating the need to transmit identical data multiple times over the network, thus reducing bandwidth consumption while maintaining client-specific delivery capability
Solution Approach 2:
The data store acts as an intermediary between the media source and clients. Instead of direct peer-to-peer unicast transmissions consuming network bandwidth, the data store mediates by providing fragments to multiple clients from persistent storage, reducing network bandwidth consumption while enabling client-specific delivery through selective retrieval
Data Source
AI summary
Disclosed are various embodiments for a framework for time-associated data stream storage, processing, and replication. A plurality of streams of time-associated data are received from a plurality of sources via a network using an application-layer protocol. Each of the plurality of streams is divided into a plurality of fragments. An acknowledgement is sent to each of the plurality of sources for each of the plurality of fragments via the network using the application-layer protocol. Processing is performed on each of the plurality of fragments for individual ones of the plurality of streams. An action is implemented relative to a respective fragment based at least in part on a result of the processing.


