Dynamic Packet Prioritization Preventing Queue Starvation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing packet prioritization techniques in data center networks can lead to starvation of low priority queues, especially when the value of 'n' is large, which hinders the acceleration of mice flows and causes packet drops, while a small 'n' fails to fully speed up mice flows due to insufficient prioritization.

Innovation Solution

Implementing a dynamic tuning mechanism for the value of 'n' based on traffic distribution, where the high priority queue is temporarily disabled when it becomes full, allowing the low priority queue to be serviced, and re-enabling it when the high priority queue empties, ensuring that the low priority queue is not starved and minimizing reordering issues.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a large value of n is used in packet prioritization, then mice flows can be better accelerated, but the low priority queue becomes starved out

Engineering Contradiction:
Improvemice flow completion rateVSAvoidlow priority queue packet volume
Core Design Contradiction:
ProductivityVSQuantity of substance

Solution Approach 1:

The patent applies dynamics by making the value of n adaptive rather than fixed. The system dynamically adjusts n based on real-time network conditions, specifically monitoring the state of high and low priority queues. When the high priority queue accumulates too many packets, n is reduced to allow low priority queue service; when the high priority queue is clear, n is increased to accelerate mice flows. This dynamic adjustment resolves the contradiction between accelerating mice flows and preventing low priority queue starvation.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent changes the parameter n based on system state. By monitoring queue lengths and adjusting n accordingly, the system transitions between different prioritization intensities. This parameter change allows the system to optimize mice flow acceleration when conditions permit while preventing low priority queue starvation when high priority traffic dominates, thus resolving the technical contradiction.

Inventive Principle:
Principle #35Parameter changes

2Quantity of substance

If a small value of n is used in packet prioritization, then low priority queue starvation is avoided, but mice flows cannot be fully sped up

Engineering Contradiction:
Improvelow priority queue packet volumeVSAvoidmice flow completion rate
Core Design Contradiction:
Quantity of substanceVSProductivity

Solution Approach 1:

The system dynamically adjusts n upward when the high priority queue is empty or has few packets, allowing mice flows to receive sufficient prioritization for acceleration. When high priority traffic increases, n is reduced to ensure low priority queue service. This dynamic behavior resolves the contradiction by adapting prioritization intensity to current traffic conditions rather than using a fixed conservative value.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The patent implements parameter changes by adjusting n based on queue state monitoring. When conditions are favorable (low high priority queue occupancy), n is increased to maximize mice flow acceleration. When high priority traffic dominates, n is decreased to prevent low priority queue starvation. This parameter adaptation resolves the contradiction between preventing starvation and accelerating mice flows.

Inventive Principle:
Principle #35Parameter changes

3Reliability

If strict priority queue is always serviced first, then mice flows avoid packet drops, but low priority queue experiences starvation

Engineering Contradiction:
Improvemice flow packet deliveryVSAvoidlow priority queue packet volume
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements periodic action by intermittently servicing the low priority queue based on the state of the high priority queue. Instead of continuous strict priority service, the system periodically allows low priority queue service when the high priority queue is empty or below a threshold. This periodic interruption of strict priority service prevents low priority queue starvation while maintaining mice flow reliability during critical periods.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent uses the high priority queue state as an intermediary condition to control access to the low priority queue. The state of the high priority queue mediates whether packets from the low priority queue can be serviced. This intermediary mechanism allows the system to balance between protecting mice flows (when high priority queue is clear) and preventing low priority queue starvation (when high priority queue is occupied), resolving the contradiction between reliability and starvation prevention.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9742683B1Techniques for enabling packet prioritization without starvation in communications networks
Publication Date: 2017.08.22 CISCO TECHNOLOGY INC
  • US9742683B1 patent drawing
  • US9742683B1 patent drawing
  • US9742683B1 patent drawing

AI summary

A method is provided in one example embodiment and includes determining whether a packet received at a network node in a communications network is a high priority packet; determining whether a low priority queue of the network node has been deemed to be starving; if the packet is a high priority packet and the low priority queue has not been deemed to be starving, adding the packet to a high priority queue, wherein the high priority queue has strict priority over the low priority queue; and if the packet is a high priority packet and the low priority queue has been deemed to be starving, adding the packet to the low priority queue.