TCP Window Partitioning for QoS Differentiation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In virtualization systems, communication bandwidth between clients and virtual machines over a Wide Area Network is often limited, leading to performance inefficiencies and overhead due to equal division of the TCP window among competing sessions, which fails to provide differentiated service levels based on Quality of Service (QoS) policies.

Innovation Solution

A mechanism that dynamically partitions the TCP window based on QoS policy data, estimating effective bandwidth and allocating specific portions to each communication session, allowing for differentiated service levels by using a communication session grouping agent, bandwidth estimation agent, and TCP enforcement agent to customize the TCP window according to priority rankings.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If equal division of TCP window is used among competing sessions, then bandwidth is shared equally, but service level differentiation based on QoS policies cannot be provided

Engineering Contradiction:
Improveservice level differentiationVSAvoidbandwidth management complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The TCP window is segmented into multiple portions, with each portion allocated to a specific communication session based on QoS policy data. This segmentation enables differentiated service levels by assigning different window sizes to different sessions, allowing high-priority traffic to receive larger portions while maintaining manageable complexity through structured allocation rules

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Different portions of the TCP window are assigned different qualities or priorities corresponding to different communication sessions. Each session receives a customized portion of the window based on its specific QoS requirements, enabling local optimization of bandwidth allocation for each session while maintaining overall system control

Inventive Principle:
Principle #3Local quality

2Reliability

If traffic control components are used to limit and control bandwidth, then specific service levels can be provided, but performance inefficiency and overhead increase

Engineering Contradiction:
Improveservice level guaranteeVSAvoidbandwidth utilization efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary actions by estimating the effective bandwidth of the communication link before allocating the TCP window portions. This preliminary bandwidth estimation allows the system to pre-calculate appropriate window sizes for each session based on actual link capacity and QoS requirements, ensuring reliable service level guarantees while optimizing bandwidth utilization efficiency through data-driven allocation

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system dynamically changes the TCP window parameter for each communication session based on estimated effective bandwidth and QoS policy data. By adjusting the window size parameter according to actual network conditions and priority rankings, the system achieves both reliable service level guarantees and improved bandwidth utilization efficiency, avoiding the overhead of traditional traffic control components

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9160810B2Partitioning of a transmission control protocol window in a virtual system
Publication Date: 2015.10.13 RED HAT ISRAEL
  • US9160810B2 patent drawing
  • US9160810B2 patent drawing
  • US9160810B2 patent drawing

AI summary

A mechanism for partitioning of a transmission control protocol (TCP) window in a virtual system is disclosed. A method includes estimating effective bandwidth of a communication link between a group of client devices at a first location and at least one host machine at a second location, wherein each client device of the groups of client devices maintains a communication session over the communication link with one of the at least one host machine, partitioning a transport control protocol (TCP) window of the communication link into portions based on quality of service (QoS) policy data of the communication sessions, where each portion is associated with one of the communication sessions, and sending, to each client device in the group of client devices, a parameter identifying the portion of the TCP window partitioned for the client device, the parameter sent to communication endpoints of each communication session.