NIC Bandwidth Control via Receive Ring Regulation

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current network interface card (NIC) technologies lack effective bandwidth control mechanisms, leading to inefficient management of incoming and outgoing packets, which can result in network congestion and reduced performance.

Innovation Solution

Implementing a receive ring and receive regulation engine on the NIC to manage bandwidth by allocating a specific size based on allocated bandwidth, delaying packets, and sending them to the host according to predetermined time periods and interrupt thresholds, ensuring controlled packet transmission and reception.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If bandwidth control mechanisms are implemented on the NIC, then network congestion is prevented and performance is optimized, but device complexity increases

Engineering Contradiction:
Improvenetwork efficiencyVSAvoidNIC complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent segments the packet handling process by introducing a receive ring buffer structure that divides incoming packets into discrete slots. The receive regulation engine independently manages this segmented structure, controlling packet flow without requiring complex host-side intervention for each packet, thus improving network efficiency while keeping the added complexity localized to the NIC hardware.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The receive ring buffer is pre-configured with a predetermined size before operation begins. This preliminary setup establishes bandwidth control parameters in advance, allowing the NIC to autonomously regulate packet reception rates without real-time complex calculations, thereby achieving network efficiency improvement with manageable device complexity.

Inventive Principle:
Principle #10Preliminary action

2Productivity

If packets are delayed and sent according to predetermined time periods, then bandwidth control is achieved, but loss of time occurs

Engineering Contradiction:
Improvebandwidth control precisionVSAvoidpacket transmission delay
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The patent implements periodic bandwidth control by using a receive ring buffer with a predetermined size that naturally creates periodic packet transmission intervals. Packets are transmitted in batches when the ring buffer is full, creating regular periodic action that controls bandwidth without requiring continuous complex timing interventions, thus achieving control precision while minimizing unnecessary delays.

Inventive Principle:
Principle #19Periodic action

3Measurement precision

If the size of the receive ring is based on allocated bandwidth, then precise bandwidth control is achieved, but device complexity increases

Engineering Contradiction:
Improvebandwidth allocation accuracyVSAvoidreceive ring management complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent achieves precise bandwidth control by changing the parameter of receive ring buffer size to directly reflect allocated bandwidth. This single parameter change approach allows the NIC to automatically adapt packet reception capacity to bandwidth allocations without requiring complex real-time calculations or multiple controlling parameters, thus achieving bandwidth allocation accuracy with minimal added complexity.

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS7801046B2Method and system for bandwidth control on a network interface card
Publication Date: 2010.09.21 ORACLE AMERICAN INC
  • US7801046B2 patent drawing
  • US7801046B2 patent drawing
  • US7801046B2 patent drawing

AI summary

A method for bandwidth control on a network interface card (NIC), the method that includes initiating a current time period, receiving a plurality of incoming packets for a receive ring, populating, by a NIC, the receive ring with the plurality of incoming packets according to a size of the receive ring during the current time period, wherein the size of the receive ring is based on an allocated bandwidth for the receive ring, and sending, by the NIC, the plurality of incoming packets to a host when a duration of the current time period elapses, wherein the duration is based on the allocated bandwidth for the receive ring.