Hybrid Streaming Protocol for Bandwidth Optimization

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current application layer network protocols for streaming video and audio, such as pull and push protocols, face limitations in maintaining optimal frame rates due to message traffic overhead and bandwidth utilization calculation challenges, leading to suboptimal performance in network communications.

Innovation Solution

A system and method that combines features of pull and push protocols, allowing client applications to dynamically adjust the bundle size of data packets based on calculated bandwidth utilization, enabling efficient data packet retrieval and optimizing frame rates by using a single request to retrieve multiple packets with minimal communication.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If pull protocols are used for streaming, then the client can calculate bandwidth utilization, but the message traffic and overhead increase, impacting frame rate

Engineering Contradiction:
Improvebandwidth utilization calculationVSAvoidframe rate
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The patent combines pull and push protocol features into a hybrid approach where the server pushes bundles of data packets in response to client requests. This merging allows the system to maintain the bandwidth calculation capability of pull protocols while reducing the message overhead of pure pull protocols, thereby improving frame rate.

Inventive Principle:
Principle #5Merging (Combining)

Solution Approach 2:

The system dynamically adjusts the bundle size parameter based on network conditions and bandwidth utilization calculations. The client can modify the number of data packets requested in each bundle based on real-time network performance, optimizing both bandwidth utilization measurement and frame rate maintenance.

Inventive Principle:
Principle #15Dynamics

2Productivity

If push protocols are used for streaming, then higher frame rates are sustained due to lower message overhead, but the client cannot calculate bandwidth utilization

Engineering Contradiction:
Improveframe rateVSAvoidbandwidth utilization calculation
Core Design Contradiction:
ProductivityVSMeasurement precision

Solution Approach 1:

The system implements feedback mechanisms where the client calculates bandwidth utilization based on the timing of received bundles and sends adjusted bundle size requests in response. This feedback loop enables the client to maintain awareness of bandwidth utilization while using a push-based transmission model that sustains higher frame rates.

Inventive Principle:
Principle #23Feedback

3Measurement precision

If multiple individual requests are sent to retrieve data packets, then bandwidth utilization can be calculated per packet, but the message overhead increases significantly

Engineering Contradiction:
Improvebandwidth utilization measurementVSAvoidmessage overhead
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent segments data packets into bundles that are transmitted together in response to single client requests. Each bundle contains multiple data packets, allowing the system to reduce message overhead while maintaining the ability to measure bandwidth utilization at the bundle level, which represents a coarser but still effective measurement granularity.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS9986010B2System and method for controlling video and/or audio streams in a web browser
Publication Date: 2018.05.29 TYCO FIRE & SECURITY GMBH
  • US9986010B2 patent drawing
  • US9986010B2 patent drawing
  • US9986010B2 patent drawing

AI summary

A system and method for controlling video and/or audio streams between a client and server over a communications channel is disclosed that utilizes an application layer streaming communications protocol that includes features of current pull and push style application layer streaming protocols. Using the streaming protocol, client applications on user devices such as web browsers send request messages for streams, where the request messages specify a variable number of data packets of the streams for the server to send. Each of the data packets include one or more frames, or frame data, of the streams. The streaming server then “pushes” the requested number of data packets of the streams, and the client application can adjust the number of data packets for the server to send in subsequent stream request messages to optimize the bandwidth of the communications channel.