Hash Perturbation Queue Management for Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current data communication methods face latency issues due to differing data communication behaviors of applications sharing a common channel, leading to poor performance, such as long latencies and dropped packets, and existing solutions like FQ CoDel fail to prevent out-of-order packet delivery and excessive delays.
Innovation Solution
Implement a method for hash perturbation with queue management, where the hash function is changed within a selected time window, and data packets are dequeued from old queues and rehashed to be placed at the head of new queues, ensuring timely delivery and maintaining packet order, thereby reducing cross-session latency effects.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If a common data channel is shared by multiple applications with different data communication behaviors, then resource utilization is improved, but data communication performance deteriorates due to cross-session latency effects
Solution Approach 1:
The patent segments the data communication channel into multiple virtual queues using hash functions. Each queue is associated with a specific session, allowing packets from different sessions to be separated and processed independently. This segmentation eliminates cross-session latency effects while maintaining efficient resource utilization across all sessions.
Solution Approach 2:
The patent dynamically changes the hash function used for queue assignment over time. By periodically updating the hash function, the system adapts to changing traffic patterns and prevents long-term starvation of any particular session. This dynamic adjustment maintains fair resource allocation while reducing latency for all sessions.
2Manufacturing precision
If a hash function is changed to improve packet distribution, then packet ordering is improved, but packet delivery order may be disrupted
Solution Approach 1:
The patent performs preliminary actions by maintaining a mapping between old queue indices and new queue indices before changing the hash function. When packets need to be rehashed, the system uses this pre-established mapping to determine the correct destination queues, ensuring that packet ordering is preserved while still achieving improved distribution through the hash function change.
Solution Approach 2:
The patent introduces an intermediary mapping structure that bridges the old queue system and the new queue system. This intermediary layer translates packet destinations from the old hash function to the new hash function, acting as a mediator that maintains packet order integrity during the transition while enabling improved packet distribution.
3Loss of time
If existing queue management solutions like FQ CoDel are used, then some latency reduction is achieved, but out-of-order packet delivery and excessive delays still occur
Solution Approach 1:
The patent implements feedback mechanisms to monitor packet delivery performance and adjust the queue management strategy accordingly. By tracking packet arrival times and order, the system can detect when out-of-order delivery occurs and adjust the hash function changes or queue scheduling to prevent such issues, thereby improving reliability while maintaining latency reduction benefits.
Data Source
AI summary
A method for hash perturbation with queue management in data communication is provided. Using a first set of old queues corresponding to a first hash function, a set of data packets corresponding to a set of session is queued. At a first time, the first hash function is changed to a second hash function. A second set of new queues is created corresponding to the second hash function. A data packet is dequeued from a first old queue in a set of old queues. A second data packet is selected from a second queue in the set of old queues. A new hash value is computed for the second data packet using the second hash function. The second data packet is queued in a first new queue such that the second packet is in position to be delivered first from the first new queue.


