Modified Weighted Fair Queue Packet Priority Tagging
Find Innovative SolutionsGenerate 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
Engineering 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
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.
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.
2Measurement precision
If all data packets are updated when queue priority changes, then priority accuracy is maintained, but processing complexity increases
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.
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.
3Reliability
If data transmission is halted to update packets, then priority information is current, but transmission productivity decreases
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.
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.
Data Source
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.


