Proxy-Based Virtual Fair Queuing for Network Bandwidth Allocation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current QoS mechanisms in data communication networks are inadequate for ensuring fair bandwidth allocation across connections, especially in cases with minimal or no packet backlog, and fail to account for single flows or third-party network control, leading to unfairness and inefficiencies in bandwidth distribution.

Innovation Solution

A system and method that uses a proxy to dynamically control bandwidth by allocating and distributing congestion events among transport layer connections based on assigned priorities, allowing for quality of service (QoS) to be implemented even in networks with minimal packet backlog and across third-party controlled segments, by adjusting transmission rates according to connection priorities.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Manufacturing precision

If traditional fair queuing is used to allocate bandwidth across connections, then bandwidth fairness is improved when backlog exists, but the mechanism becomes ineffective when minimal or no packet backlog is present

Engineering Contradiction:
Improvebandwidth allocation fairnessVSAvoideffectiveness across different network conditions
Core Design Contradiction:
Manufacturing precisionVSAdaptability or versatility

Solution Approach 1:

The patent introduces a proxy as an intermediary component that terminates TCP connections and implements virtual fair queuing. The proxy acts as a mediator between senders and receivers, maintaining connection state and queue information while forwarding packets. This allows QoS mechanisms to be implemented at the transport layer even in networks where traditional network-layer QoS is not available, resolving the contradiction by providing bandwidth fairness control in environments where traditional mechanisms fail.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The patent changes the operating parameters of TCP connections by introducing virtual queuing at the transport layer. Instead of relying on network-layer QoS parameters or packet backlog conditions, the system uses transport-layer acknowledgment manipulation to control sender behavior. The proxy modifies ACK packet timing and sequence numbers to simulate different queue conditions, enabling fair bandwidth allocation regardless of actual network backlog states.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If QoS mechanisms are implemented at network layer, then basic QoS functionality is provided, but third-party network controllers can ignore QoS bits leading to unfair bandwidth distribution

Engineering Contradiction:
ImproveQoS functionalityVSAvoidcontrol over bandwidth allocation
Core Design Contradiction:
ReliabilityVSEase of operation

Solution Approach 1:

The patent places a proxy intermediary between the sender and the third-party controlled network. The proxy terminates the TCP connection and maintains virtual queues, allowing the controlling entity to enforce QoS policies end-to-end. By operating at the transport layer, the proxy bypasses network-layer QoS bits that can be ignored by third-party routers, ensuring reliable bandwidth allocation control even in uncooperative network environments.

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

Instead of implementing QoS at the network layer where control is lost to third parties, the patent inverts the approach by implementing virtual fair queuing at the transport layer. The proxy inverts the traditional QoS hierarchy, using transport-layer mechanisms (ACK manipulation, connection state maintenance) to achieve what network-layer QoS cannot provide in uncooperative environments.

Inventive Principle:
Principle #13The other way round (Inversion)

3Productivity

If TCP congestion control increases congestion window after successful round-trip, then connection bandwidth is improved, but this leads to increased network queuing and packet loss

Engineering Contradiction:
Improveconnection bandwidthVSAvoidpacket loss rate
Core Design Contradiction:
ProductivityVSLoss of energy

Solution Approach 1:

The patent implements feedback control by having the proxy monitor virtual queue lengths and manipulate ACK packet timing accordingly. When virtual queues approach capacity, the proxy delays ACKs or reduces acknowledgment rates, providing feedback to the sender to reduce its transmission rate. This prevents the congestion window from growing too large, avoiding network overload and packet loss while still allowing bandwidth utilization to improve progressively.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent performs preliminary actions by maintaining virtual queues and predicting congestion conditions before actual network congestion occurs. The proxy proactively controls the congestion window growth by manipulating ACKs in advance, preventing the sender from injecting too much traffic into the network. This preliminary control prevents the oscillation between underutilization and overload that causes packet loss.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS8531944B2Systems and methods for providing virtual fair queuing of network traffic
Publication Date: 2013.09.10 CITRIX SYSTEMS INC
  • US8531944B2 patent drawing
  • US8531944B2 patent drawing
  • US8531944B2 patent drawing

AI summary

Systems and methods for dynamically controlling bandwidth of connections are described. In some embodiments, a proxy for one or more connections may allocate, distribute, or generate indications of network congestion via one or more connections in order to induce the senders of the connections to reduce their rates of transmission. The proxy may allocate, distribute, or generate these indications in such a way as to provide quality of service to one or more connections, or to ensure that a number of connections transmit within an accepted bandwidth limit. In other embodiments, a sender of a transport layer connection may have a method for determining a response to congestion indications which accounts for a priority of the connection. In these embodiments, a sender may reduce or increase parameters related to transmission rate at different rates according to a priority of the connection.