Adaptive Acknowledgement Control for Network Congestion

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data center networks face challenges with microbursts (incasts) causing buffer exhaustion, leading to retransmissions and reduced network throughput, which existing large buffer sizes attempt to address but introduce latency issues.

Innovation Solution

Implementing adaptive acknowledgment message (ACK) control to buffer ACK packets instead of data packets, controlling the data arrival rate by monitoring data packet queues and releasing ACK packets at a controlled rate to stabilize the data packet queue at a desired threshold.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If a larger buffer size is used to resolve buffer exhaustion during incast bursts, then network throughput is improved, but latency increases due to buffer bloat

Engineering Contradiction:
Improvenetwork throughputVSAvoidlatency
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

Instead of buffering data packets to prevent buffer exhaustion, the patent inverts the approach by buffering acknowledgment packets. This allows data packets to be transmitted immediately while controlling the rate at which acknowledgments are sent, thereby preventing buffer exhaustion without causing buffer bloat for data packets.

Inventive Principle:
Principle #13The other way round (Inversion)

Solution Approach 2:

The patent introduces an acknowledgment buffer as an intermediary mechanism between the data transmission process and the acknowledgment response. This intermediary buffer absorbs the timing mismatch between data arrival and acknowledgment generation, preventing both buffer exhaustion and excessive latency.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Reliability

If data packets are buffered to prevent buffer exhaustion during incast bursts, then network stability is improved, but data packet transmission delay increases

Engineering Contradiction:
Improvenetwork stabilityVSAvoiddata packet transmission delay
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent buffers acknowledgments instead of data packets, allowing data packets to flow through the network immediately without being delayed by buffering operations. This maintains network stability while avoiding transmission delays for data packets.

Inventive Principle:
Principle #13The other way round (Inversion)

3Reliability

If traditional buffering methods are used to handle incast bursts, then buffer exhaustion is prevented, but device complexity increases due to larger buffer requirements

Engineering Contradiction:
Improvebuffer exhaustion preventionVSAvoidbuffer size requirements
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The patent reduces device complexity by buffering acknowledgments rather than data packets. Since acknowledgment packets are typically much smaller than data packets, the required buffer size is significantly reduced while still preventing buffer exhaustion and maintaining reliable operation during incast bursts.

Inventive Principle:
Principle #13The other way round (Inversion)

Data Source

PatentUS10560391B2Adaptive acknowledgement control
Publication Date: 2020.02.11 CISCO TECHNOLOGY INC
  • US10560391B2 patent drawing
  • US10560391B2 patent drawing
  • US10560391B2 patent drawing

AI summary

A network device is configured to transmit acknowledgement packets according to the length of the egress queue. The network device receives data packets from one or more endpoints and buffers the data packets in an egress buffer before transmitting the data packets. The network device also receives acknowledgement packets that are sent in response to data packets previously transmitted by the network device. The network device buffers the acknowledgement packets in an acknowledgement buffer. The network device transmits the acknowledgement packets at an acknowledgment rate that is based on a queue length of the egress buffer.