Packet Arbitration Using Age-Based Thresholds to Prevent Starvation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In packet switching networks, particularly in request/response types, higher priority packets often starve lower priority packets, leading to reduced throughput and excessive latency due to strict priority-based arbitration, which can result in deadlock scenarios and inefficient bandwidth utilization.

Innovation Solution

A method and system for arbitration in information packet controllers that prioritize packets based on their quality of service and age in the queue, allowing for fair transmission and avoiding starvation of lower priority packets by using a threshold-based approach that considers available storage credits and retry notifications.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Speed

If strict priority-based arbitration is used to transmit higher priority packets first, then quality of service for high priority packets is improved, but lower priority packets are starved and not transmitted

Engineering Contradiction:
Improvetransmission speed of high priority packetsVSAvoidthroughput of low priority packets
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The arbitration scheme dynamically adjusts packet selection based on queue age and priority levels. Instead of static priority arbitration, the system adaptively promotes older low-priority packets when they meet certain age thresholds, while still allowing high-priority packets to be transmitted when available and young. This dynamic adjustment resolves the contradiction by making the arbitration flexible rather than rigid.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The invention changes the arbitration parameters by introducing an age-based threshold mechanism. Packets are evaluated not only on priority level but also on their age in the queue. When low-priority packets exceed the age threshold, their effective priority is adjusted upward, allowing them to be transmitted. This parameter change enables the system to balance between serving high-priority traffic and preventing starvation of low-priority traffic.

Inventive Principle:
Principle #35Parameter changes

2Reliability

If higher priority packets are sent first to avoid deadlock, then system reliability is improved, but bandwidth utilization becomes inefficient

Engineering Contradiction:
Improvedeadlock avoidanceVSAvoidbandwidth utilization efficiency
Core Design Contradiction:
ReliabilityVSLoss of energy

Solution Approach 1:

The system applies partial priority arbitration rather than strict priority arbitration. Instead of always transmitting high-priority packets first, the system transmits them only when necessary (when they are young and meet priority thresholds). When high-priority packets are not available or when low-priority packets have exceeded age thresholds, the system transmits low-priority packets. This partial application of priority-based arbitration maintains reliability while improving bandwidth utilization.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The arbitration mechanism periodically evaluates packets based on their age and priority, creating a rhythmic pattern of transmission decisions. The system continuously monitors queue ages and adjusts transmission priorities accordingly, creating a periodic review process that prevents permanent starvation of low-priority packets while maintaining the ability to prioritize high-priority traffic when appropriate.

Inventive Principle:
Principle #19Periodic action

3Loss of time

If multiple levels of priority are implemented for request packets, then quality of service for delivery time is improved, but low priority packets are starved for extended periods

Engineering Contradiction:
Improvedelivery time for high priority packetsVSAvoidwaiting time for low priority packets
Core Design Contradiction:
Loss of timeVSDuration of action of moving object

Solution Approach 1:

The system dynamically adjusts the effective priority of packets based on their age in the queue. Low-priority packets that have been waiting for extended periods automatically gain priority boosts when they exceed certain age thresholds. This dynamic priority adjustment ensures that while high-priority packets receive fast service, low-priority packets are eventually transmitted within reasonable time frames, preventing excessive waiting periods.

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The arbitration mechanism incorporates feedback from queue age information to adjust transmission decisions. The system continuously monitors how long packets have been waiting and uses this feedback to modify their transmission priority. When low-priority packets have waited too long, the age feedback triggers their promotion in the arbitration hierarchy, ensuring they are transmitted within acceptable time frames while still allowing high-priority traffic to be served first when appropriate.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7672303B1Arbitration method and system
Publication Date: 2010.03.02 EMC IP HLDG CO LLC
  • US7672303B1 patent drawing
  • US7672303B1 patent drawing
  • US7672303B1 patent drawing

AI summary

A method is provided for performing arbitration in an information packet controller. The method includes transmitting different types of information packets from an initiator to a receiver. One type of information packet has a quality of service requiring a faster transmission time from the initiator to the receiver than another type of information packet having a quality of service having a slower transmission time from the initiator to the receiver. The transmitting of the information packets from the initiator to the receiver is in accordance with priority assigned to the information packet, the quality of service assigned to the information packet, and the age of such information packets having been stored in a queue of the initiator, such quality of service being a function of the speed at which the packets are required to pass from the initiator to a receiver.