Web Server Constraint Support for Streaming Data

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Digital content distribution systems face challenges in efficiently handling client requests for streaming data due to variable network congestion, leading to inefficiencies in bandwidth allocation and potential data loss or interruption during high congestion periods.

Innovation Solution

A computer-implemented method and system that allows a web server to receive client-suggested constraints for data blocks, detect network congestion, and adjust bandwidth accordingly by either reducing it or abandoning requests to ensure data is delivered within specified constraints, thereby optimizing bandwidth usage and preventing unnecessary data transmission.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If the server reduces bandwidth by a predefined amount in response to network congestion, then network congestion is reduced, but the suggested constraints from the client may not be satisfied

Engineering Contradiction:
Improveconstraint satisfactionVSAvoidbandwidth utilization
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The server dynamically adjusts bandwidth allocation based on real-time network congestion conditions and client constraints. Instead of using a fixed bandwidth reduction policy, the system continuously monitors network conditions and modifies transmission parameters to satisfy client constraints while adapting to changing network capacity.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The server changes transmission parameters such as bandwidth allocation and data block size based on network congestion levels and client constraints. By adjusting these parameters dynamically, the system ensures constraint satisfaction while optimizing bandwidth utilization under varying network conditions.

Inventive Principle:
Principle #35Parameter changes

2Productivity

If the server sends data blocks to the client, then the client receives the requested data, but bandwidth is wasted during high network congestion

Engineering Contradiction:
Improvedata delivery efficiencyVSAvoidbandwidth waste
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The server performs preliminary actions by detecting network congestion before sending data blocks and aborting transmissions proactively. By monitoring network conditions in advance and taking preventive action, the system avoids wasting bandwidth on transmissions that would fail or perform poorly during congestion events.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system uses feedback from network congestion detection to control data transmission decisions. The server continuously monitors network conditions and uses this feedback to adjust transmission behavior, sending data only when network conditions are favorable and aborting when congestion is detected, thereby eliminating bandwidth waste.

Inventive Principle:
Principle #23Feedback

3Productivity

If the server monitors network congestion and adjusts bandwidth, then bandwidth allocation is optimized, but the server complexity increases

Engineering Contradiction:
Improvebandwidth allocation efficiencyVSAvoidserver complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The server performs self-service by autonomously monitoring its own network conditions and adjusting its bandwidth allocation without requiring external control systems. This self-monitoring and self-adjustment capability optimizes bandwidth allocation while avoiding the complexity of additional control infrastructure.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS10425500B2Web server constraint support
Publication Date: 2019.09.24 NETFLIX INC
  • US10425500B2 patent drawing
  • US10425500B2 patent drawing
  • US10425500B2 patent drawing

AI summary

Techniques are disclosed for a web server to support constraints specified by a client. In one embodiment, the web server receives, from the client, a request for one or more blocks of data. The request includes one or more constraints provided by the client. The web server may perform an action responsive to an increase in network congestion, based on the one or more constraints. Accordingly, the web server may handle the request in a manner that more closely meets the needs of the client.