Network Interface Bandwidth Allocation via Hardware Interrupts

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Network traffic management systems face challenges in balancing traffic loads across different network interfaces due to varying traffic demands over time, requiring complex software and hardware interactions to monitor and adjust packet loads, but existing methods are inefficient in achieving equilibrium and optimizing resource allocation.

Innovation Solution

A network device with a Performance Monitoring Unit (PMU) and interrupt enable registers dynamically adjusts packet queue priorities based on traffic conditions, using a Quality of Service (QoS) processing engine to manage bandwidth allocation and packet token counts, ensuring that only enabled queues interrupt the processor, allowing for real-time adjustments to prioritize queues based on available resources.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If complex system software and hardware polling is used to monitor network traffic, then traffic load balancing can be achieved, but system complexity and processing overhead increase significantly

Engineering Contradiction:
Improvetraffic load balancingVSAvoidsystem software complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent extracts the traffic monitoring function from complex system software and implements it through simple hardware counters in each network interface card. Each NIC independently counts its own packet transmissions and receives interrupts only when needed, eliminating the need for complex centralized software polling while achieving load balancing through hardware-based traffic distribution.

Inventive Principle:
Principle #2Taking out (Extraction)

Solution Approach 2:

Each network interface card autonomously monitors its own traffic conditions through hardware counters and generates interrupts based on predefined thresholds. This self-monitoring capability eliminates the need for complex system-wide polling software, as each interface independently tracks its packet load and notifies the processor only when threshold conditions are met.

Inventive Principle:
Principle #25Self-service

2Measurement precision

If continuous polling of each router is performed to gather traffic information, then accurate traffic monitoring is achieved, but processing time and system resources are consumed

Engineering Contradiction:
Improvetraffic information accuracyVSAvoidprocessing time
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

Instead of continuous polling, the patent implements periodic interrupt-driven monitoring where each network interface card generates an interrupt only when its packet count reaches a predefined threshold. This periodic action based on event triggers provides accurate traffic information at critical moments while eliminating continuous processing overhead.

Inventive Principle:
Principle #19Periodic action

Solution Approach 2:

The patent implements a feedback mechanism where hardware counters in each NIC continuously monitor packet traffic and automatically generate interrupts when thresholds are exceeded. This feedback loop provides accurate real-time traffic information without requiring active polling, as the system responds automatically to changing traffic conditions.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7773504B2Bandwidth allocation for network packet traffic
Publication Date: 2010.08.10 TAHOE RES LTD
  • US7773504B2 patent drawing
  • US7773504B2 patent drawing
  • US7773504B2 patent drawing

AI summary

Bandwidth is allocated among network interfaces of, for example, a switch, router, or server among based on network packet traffic. In one example the network device has a plurality of network interfaces, a performance monitoring unit to monitor buffer events for the network interfaces and to generate an interrupt if a network interface buffer is near an overflow state, and a processor to receive the interrupt and increase a priority of the associated network interface in response thereto.