Modified Weighted Fair Queue Packet Priority Tagging

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Weighted fair queuing implementations face performance issues due to the need to update all data packets when queue priorities change, causing unacceptable delays in server environments with time-sensitive applications.

Innovation Solution

A method that calculates and associates priority values with data packets, allowing only the data packet with the lower priority value to be transmitted over a shared data path, reducing the need to update all packets and minimizing delays.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If queue priority is changed in traditional weighted fair queuing, then scheduling priority is updated, but all data packets in the queue must be updated causing transmission delays

Engineering Contradiction:
Improvequeue priority update capabilityVSAvoiddata transmission delay
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The patent segments the priority information into two distinct components: queue-level priority parameters and packet-level priority tags. When queue priority changes, only the queue parameters need updating, while existing packet tags remain valid until packets are transmitted. This segmentation eliminates the need to update all packets simultaneously, resolving the contradiction between adaptability and time loss.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system pre-calculates and assigns priority tags to packets based on current queue priorities at the time of packet creation. These tags are stored with the packets and remain valid even if queue priorities change later. This preliminary action ensures that priority information is captured before changes occur, avoiding the need for costly updates when priorities change.

Inventive Principle:
Principle #10Preliminary action

2Measurement precision

If all data packets are updated when queue priority changes, then priority accuracy is maintained, but processing complexity increases

Engineering Contradiction:
Improvepriority assignment accuracyVSAvoidpacket update processing complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

By separating queue priority parameters from packet priority tags, the system maintains precise priority tracking without requiring complex update operations. The queue parameters store current priority levels, while packet tags store the priority information at the time of creation. This segmentation simplifies the update process to only modifying queue parameters, reducing processing complexity while maintaining accuracy.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system creates a copy of the queue priority information at the time of packet creation and stores it as a tag with the packet. This copy remains static and does not need updating when queue priorities change. The copying approach maintains priority accuracy for each packet while eliminating the complex operation of updating all packets, thereby reducing device complexity.

Inventive Principle:
Principle #26Copying

3Reliability

If data transmission is halted to update packets, then priority information is current, but transmission productivity decreases

Engineering Contradiction:
Improvepriority information currencyVSAvoiddata transmission throughput
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The system performs preliminary capture of priority information by assigning packet tags based on current queue priorities at packet creation time. These pre-assigned tags ensure that each packet carries accurate priority information relevant to its creation context, without requiring halts for updates. This maintains reliability of priority information while avoiding transmission interruptions.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements dynamic queue priority parameters that can change without halting transmission, while packet-level tags remain static. This dynamic approach allows queue priorities to be adjusted in real-time based on changing network conditions, while already-transmitted or queued packets maintain their original priority assignments. This resolves the contradiction by allowing continuous transmission while maintaining accurate priority information for both old and new packets.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10050893B2Data transmission using modified weighted fair queue algorithm
Publication Date: 2018.08.14 VMWARE INC
  • US10050893B2 patent drawing
  • US10050893B2 patent drawing
  • US10050893B2 patent drawing

AI summary

To transmit data packets over a shared data path, data packets of a first message and a second message are received and stored, respectively, in first and second queues. First and second data packets are then extracted from, respectively, the first and second messages. First and second priority values are calculated, respectively, for the first and second data packets and are associated thereto. If the first priority value is determined to be lower than the second priority value, then the first packet is transmitted over the shared data path. If the second priority value is determined to be lower than the first priority value, then the second packet is transmitted over the shared data path.