Proxy-Based Virtual Fair Queuing for Network Bandwidth Allocation
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
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
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.
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.
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
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.
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.
Data Source
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.


