Time-Associated Data Stream Fragmentation Framework

Resolve Bottlenecks,
Find Innovative Solutions
Generate 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

VSEngineering Contradiction Analysis

1Reliability

If media streams are sent using TCP for reliability, then data transmission reliability is improved, but latency increases

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoidlatency
Core Design Contradiction:
ReliabilityVSLoss of time

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #10Preliminary action

2Loss of time

If media streams are sent using UDP with lower latency, then latency is reduced, but errors or dropouts increase

Engineering Contradiction:
ImprovelatencyVSAvoiderror rate
Core Design Contradiction:
Loss of timeVSReliability

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

Inventive Principle:
Principle #10Preliminary action

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

Inventive Principle:
Principle #26Copying

3Speed

If clients join a media stream in real-time, then real-time consumption is enabled, but clients miss previous portions of the stream

Engineering Contradiction:
Improvereal-time consumption speedVSAvoidmissed content
Core Design Contradiction:
SpeedVSLoss of information

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

Inventive Principle:
Principle #1Segmentation

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

Inventive Principle:
Principle #10Preliminary action

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

Engineering Contradiction:
Improveclient-specific deliveryVSAvoidnetwork bandwidth consumption
Core Design Contradiction:
Adaptability or versatilityVSQuantity of substance

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

Inventive Principle:
Principle #5Merging (Combining)

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

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS10764347B1Framework for time-associated data stream storage, processing, and replication
Publication Date: 2020.09.01 AMAZON TECH INC
  • US10764347B1 patent drawing
  • US10764347B1 patent drawing
  • US10764347B1 patent drawing

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.