Kernel Traffic Shaping Pipelines for Network Emulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing network emulation techniques, such as subnet-based approaches, alter the network topology and require port forwarding, leading to inaccurate performance testing and increased effort in configuring and maintaining network settings for software applications.

Innovation Solution

A method involving a kernel that implements traffic shaping pipelines to emulate network conditions without altering the network topology, using a shaping daemon and DNS spoofer to filter and modify network traffic, eliminating the need for port forwarding by using a single logical address for each client device.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If subnet-based network emulation is used to test software applications under different network conditions, then network condition emulation capability is improved, but network topology complexity increases and performance accuracy deteriorates

Engineering Contradiction:
Improvenetwork condition emulation capabilityVSAvoidperformance accuracy
Core Design Contradiction:
Adaptability or versatilityVSManufacturing precision

Solution Approach 1:

The patent segments network traffic handling by creating separate traffic pipelines for different client devices, where each pipeline applies specific traffic shaping operations. This allows independent emulation of different network conditions for each device without requiring physical subnet division, thereby maintaining topology simplicity while achieving accurate performance testing.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent introduces a kernel-level traffic pipeline as an intermediary between the network interface and software applications. This intermediary layer applies traffic shaping operations to simulate various network conditions (latency, bandwidth limitations, packet loss) without altering the actual network topology, thus preserving performance accuracy while enabling diverse condition emulation.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If subnet-based network emulation is implemented to emulate different network conditions, then network condition diversity is improved, but device complexity increases due to port forwarding requirements

Engineering Contradiction:
Improvenetwork condition diversityVSAvoidport forwarding configuration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal traffic pipeline mechanism that handles multiple network condition emulations through a single standardized interface. The kernel-level pipeline system can apply different traffic shaping operations (latency, bandwidth, packet loss) to different client devices without requiring separate port forwarding configurations, thereby reducing device complexity while maintaining network condition diversity.

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The patent changes the approach from structural modification (subnet division with port forwarding) to parameter-based control (traffic shaping parameters). By adjusting traffic shaping parameters within a unified network topology, the system achieves diverse network condition emulation without the complexity of configuring and maintaining multiple subnets and port forwarding rules.

Inventive Principle:
Principle #35Parameter changes

3Adaptability or versatility

If traffic shaping operations are applied through subnet division, then network condition emulation is improved, but time consumption increases for configuring and maintaining network settings

Engineering Contradiction:
Improvenetwork condition emulationVSAvoidconfiguration and maintenance time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent implements a kernel-level traffic pipeline system that automatically applies traffic shaping operations based on configured parameters. The system self-manages the emulation of different network conditions without requiring manual subnet configuration or port forwarding setup, thereby significantly reducing the time and effort needed for configuring and maintaining network emulation settings.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS11573884B2Techniques for transparently emulating network conditions
Publication Date: 2023.02.07 NETFLIX INC
  • US11573884B2 patent drawing
  • US11573884B2 patent drawing
  • US11573884B2 patent drawing

AI summary

In various embodiments, a network emulation application emulates network conditions when testing a software application. In response to a request to emulate a first set of network conditions for a first client device that is executing the software application, causing a kernel to implement a first pipeline and to automatically input network traffic associated with the first client device to the first pipeline instead of a default bridge. In response to a request to emulate a second set of network conditions for a second client device that is executing the software application, causing the kernel to implement a second pipeline and to automatically input network traffic associated with the second client device to the second pipeline instead of the default bridge. Each of the pipelines perform one or more traffic shaping operations on at least a subset of the network traffic input into the pipeline.