Biased Hash Data Structure for Content Server Bandwidth Balancing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing content distribution systems across multiple servers face challenges in balancing network traffic, leading to disproportionate bandwidth utilization and errors due to differences in content popularity, which conventional steering techniques struggle to efficiently address.

Innovation Solution

The method involves generating a biased hash data structure by comparing network bandwidth utilization across servers and reallocating files based on this structure, as well as using multiple hash data structures to distribute files based on popularity and storage capacity, ensuring more even distribution and efficient utilization of bandwidth and storage.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If consistent hashing is used to distribute content titles across servers, then content distribution is achieved, but network traffic becomes disproportionate across servers due to different content popularity

Engineering Contradiction:
Improvecontent distribution efficiencyVSAvoidnetwork bandwidth balance
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent applies local quality by assigning different weights to different servers in the hash data structure based on their network bandwidth capacity. Instead of treating all servers equally, each server receives a number of hash entries proportional to its bandwidth capacity, creating a non-uniform distribution that locally adapts to each server's capabilities. This resolves the contradiction by maintaining consistent hashing efficiency while achieving proportional bandwidth utilization across servers with different capacities.

Inventive Principle:
Principle #3Local quality

Solution Approach 2:

The patent changes the parameter of hash entry allocation from a uniform value to a variable value that depends on server bandwidth capacity. By dynamically adjusting the number of hash entries assigned to each server based on its network bandwidth characteristics, the system transforms the static consistent hashing approach into an adaptive mechanism that balances traffic according to actual server capabilities, thereby resolving the bandwidth disproportion issue.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If steering techniques are used to balance network traffic across servers, then load balancing is improved, but system complexity increases significantly

Engineering Contradiction:
Improvenetwork bandwidth balanceVSAvoidcontent delivery complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent applies preliminary action by pre-calculating and embedding the bandwidth-based weights into the hash data structure before content distribution begins. Instead of implementing complex real-time steering logic that actively monitors and redirects traffic, the system预先 (in advance) configures the hash entries to reflect desired traffic distribution, allowing simple hash-based allocation to automatically achieve load balancing without complex runtime control mechanisms.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent replaces the mechanical steering system (active traffic redirection logic) with a mathematical hashing system. Instead of using complex control algorithms to steer traffic away from overloaded servers, the invention substitutes this with a simplified hash-based allocation mechanism where the distribution pattern is determined by mathematical hash functions and pre-configured weights, eliminating the need for complex real-time steering logic while maintaining load balance.

Inventive Principle:
Principle #28Mechanics substitution (Replace mechanical system)

3Reliability

If steering techniques are used to redirect network traffic, then load balancing is improved, but errors occur when bandwidth capacity is reached during the steering process

Engineering Contradiction:
Improvenetwork bandwidth balanceVSAvoidnetwork errors during steering
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The patent prevents errors by taking preliminary action to configure the hash data structure with bandwidth-proportional weights before distribution begins. This upfront configuration ensures that traffic is correctly distributed from the start, eliminating the need for dynamic steering that could cause errors during transitions. The system avoids the harmful effect of capacity exhaustion by pre-establishing the correct distribution pattern.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The patent applies beforehand cushioning by designing the hash data structure to inherently accommodate varying server capacities through weighted entry allocation. This structural cushioning built into the distribution mechanism prevents traffic overload on any single server by design, rather than relying on reactive steering that may fail to prevent errors in time. The system is cushioned against bandwidth exhaustion by the mathematical properties of the weighted hash distribution.

Inventive Principle:
Principle #11Beforehand cushioning (Prior cushioning)

Data Source

PatentUS11223675B2Hash data structure biasing
Publication Date: 2022.01.11 NETFLIX INC
  • US11223675B2 patent drawing
  • US11223675B2 patent drawing
  • US11223675B2 patent drawing

AI summary

One embodiment of the present invention sets forth a technique for generating one or more hash data structures. The technique includes generating a hash data structure having entries that correspond to a plurality of content servers, and, for each file included in a first plurality of files, allocating the file to one or more content servers included in the plurality of content servers by comparing a hash value associated with the file to one or more entries included in the entries. The technique further includes comparing a network bandwidth utilization of a first content server to a network bandwidth utilization associated with one or more other content servers included in the plurality of content servers to generate a result, and modifying a first number of entries associated with the first content server and included in the entries based on the result to generate a biased hash data structure.