Streaming Media Startup via Predictive Preloading and Protocol Switching

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current streaming technologies experience significant delays between user request and playback initiation due to communication requirements between client and server devices, reducing user-friendliness and efficiency.

Innovation Solution

Implementing a predictive start technique where the client device sends a predictive play request to the server, allowing it to anticipate desired media streams and begin streaming, and a delivery channel switching technique that probes for the use of UDP during TCP streaming, switching if feasible.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional streaming protocol communication is used between client and server, then reliable data transmission is achieved, but startup delay increases

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoidstartup delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The server performs preliminary actions by predicting which media streams the client will request and starting to stream them before the actual play request is received. This preliminary streaming action reduces the startup delay when the client actually requests playback, while maintaining reliability through subsequent protocol switching mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system changes the transmission protocol parameter from TCP to UDP to reduce startup delay. By switching from TCP (which ensures reliability but adds overhead) to UDP (which is faster but less reliable), the system optimizes for speed in the streaming phase while using TCP for control communications.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If TCP protocol is used for streaming, then data reliability is improved, but transmission speed decreases

Engineering Contradiction:
Improvedata transmission reliabilityVSAvoiddata transmission speed
Core Design Contradiction:
ReliabilityVSSpeed

Solution Approach 1:

The system dynamically changes the transmission protocol parameter from TCP to UDP based on the streaming phase. During the startup and prediction phase, TCP is used for reliability. Once streaming begins, the system switches to UDP to maximize transmission speed, accepting reduced reliability in exchange for performance.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The server performs preliminary streaming actions using predicted media streams before the client actually requests playback. This allows the system to establish the streaming connection and begin data flow in advance, improving perceived speed while using TCP for the initial reliable connection establishment.

Inventive Principle:
Principle #10Preliminary action

3Stability of the object's composition

If media streams are buffered before playback, then playback stability is improved, but startup delay increases

Engineering Contradiction:
Improveplayback stabilityVSAvoidstartup delay
Core Design Contradiction:
Stability of the object's compositionVSLoss of time

Solution Approach 1:

The server performs preliminary streaming of predicted media streams before the client requests playback. This preliminary action pre-loads the media data into buffers on both server and client sides, ensuring playback stability is achieved without adding significant startup delay since the buffering happens during the prediction phase rather than after the play request.

Inventive Principle:
Principle #10Preliminary action

4Measurement precision

If server waits for client play request before streaming, then streaming accuracy is improved, but response time decreases

Engineering Contradiction:
Improvestreaming accuracyVSAvoidresponse time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The server performs preliminary streaming of predicted media streams before receiving the actual play request from the client. This preliminary action improves response time by having data ready to send, while the server maintains streaming accuracy by using prediction algorithms to anticipate which streams the client will actually need, then adjusting or stopping streams that are not requested.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS7720983B2Fast startup for streaming media
Publication Date: 2010.05.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7720983B2 patent drawing
  • US7720983B2 patent drawing
  • US7720983B2 patent drawing

AI summary

Fast startup for streaming media includes one or both of a technique for predictive start and a technique for switching delivery channel(s) during streaming. Predictive start allows a media content source to predict which media stream(s) are desired by the requesting client device and begin streaming those predicted media stream(s) to the client device. The delivery channel switching technique allows the media content source to begin streaming the media stream(s) using one delivery channel (e.g., using the Transmission Control Protocol (TCP)), and then check whether another delivery channel (e.g., using the User Datagram Protocol (UDP)) will work and switch to that other delivery channel if it will work.