Byte-Based Credit Flow Control for Lossless Packet Buffering

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing data communications infrastructure faces challenges in scaling bit rate while maintaining lossless operation, particularly due to increased bandwidth and latency requirements, which are exacerbated by the need for substantial headroom in packet buffers to prevent congestion and packet drops, limiting the number of lossless classes of services that can be enabled on a link.

Innovation Solution

A byte-based credit flow control mechanism is introduced, where the sender maintains a buffer state at the receiver using byte-expansion information to adjust a credit counter, allowing for efficient packet buffer management and eliminating the need for substantial headroom by being insensitive to packet storage methods and self-synchronizing, enabling lossless operation without relying on worst-case scenarios.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If traditional time-based flow control schemes are used, then packet buffer headroom is increased to prevent congestion, but the number of lossless classes of services that can be enabled on a link is limited

Engineering Contradiction:
Improvelossless operationVSAvoidnumber of lossless classes of services
Core Design Contradiction:
ReliabilityVSAdaptability or versatility

Solution Approach 1:

The patent changes the flow control parameter from time-based to byte-based credit counters. Instead of using time quanta to control packet flow, the system uses byte-count credits that directly track buffer usage. This parameter change allows for more granular and accurate buffer management, enabling multiple lossless classes of services to share buffer resources without requiring excessive headroom for each class.

Inventive Principle:
Principle #35Parameter changes

Solution Approach 2:

The patent segments the packet buffer into multiple classes of service with separate credit counters for each class. Each class maintains its own credit counter that tracks available buffer space independently. This segmentation allows different classes of traffic to be managed separately, enabling multiple lossless services to operate simultaneously without interfering with each other, while efficiently utilizing the total buffer capacity.

Inventive Principle:
Principle #1Segmentation

2Reliability

If substantial headroom is allocated in packet buffers to prevent congestion and packet drops, then lossless operation is maintained, but buffering requirements increase

Engineering Contradiction:
Improvelossless operationVSAvoidbuffering requirements
Core Design Contradiction:
ReliabilityVSQuantity of substance

Solution Approach 1:

The patent implements feedback through credit counters that continuously track the actual usage of packet buffer space by each class of service. The receiver monitors buffer occupancy and sends credit updates to the sender, providing real-time feedback on available buffer space. This feedback mechanism allows the system to dynamically adjust transmission rates based on actual buffer conditions rather than allocating excessive static headroom, thereby maintaining lossless operation with reduced buffering requirements.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The patent uses preliminary action by pre-configuring credit counters with the total buffer capacity allocated to each class of service. These credit counters are initialized before traffic flow begins, establishing the maximum credit limit in advance. As packets are transmitted and buffered, credits are decremented accordingly. This preliminary setup eliminates the need for additional dynamic headroom allocation during operation, as the credit counters inherently prevent buffer overflow by tracking usage against pre-established limits.

Inventive Principle:
Principle #10Preliminary action

3Productivity

If credit-based flow control with byte-expansion information is implemented, then throughput is increased with reduced buffering, but the system complexity increases

Engineering Contradiction:
ImprovethroughputVSAvoidflow control mechanism
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent applies self-service by having each endpoint (sender and receiver) independently maintain and update its own credit counters based on local buffer state and transmitted/received packet counts. The receiver autonomously monitors its buffer occupancy and generates credit updates when buffer space becomes available. The sender independently tracks its transmitted byte count and adjusts its transmission rate based on received credits. This self-service approach eliminates the need for complex centralized control or extensive handshaking protocols, simplifying the overall system while enabling high throughput through efficient buffer utilization.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9729459B2System and method for credit-based link level flow control
Publication Date: 2017.08.08 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US9729459B2 patent drawing
  • US9729459B2 patent drawing
  • US9729459B2 patent drawing

AI summary

A system and method for credit-based link level flow control. In one embodiment, a byte-based flow control mechanism is based on a sender effectively maintaining a buffer state at the receiver. In maintaining a buffer state at the receiver, the sender is provided with information regarding byte expansion at the receiver. This byte-expansion information can be used by the sender to identify the amount of additional storage needed by the receiver when storing a packet transmitted by the sender in the receiver's packet buffer.