Data Center Flow Completion Verification Using Receiver Credits

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Data center networks experience unpredictable performance due to flow collisions, incast traffic, and underprovisioning, making it difficult to determine if network issues are causing performance problems or if they are due to application or computer faults, and existing solutions do not adequately address the predictability of data transfer times.

Innovation Solution

Implement a method where sending computers monitor flow completion times (FCT) by maintaining virtual queues and calculating estimated FCTs based on received credits, using receiver-driven credit mechanisms to inform a monitor about the receiver's desired sending rate, and employing packet spraying to distribute traffic evenly across paths.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If data center networks are underprovisioned to handle aggregate traffic load, then network capacity utilization is improved, but performance predictability deteriorates during bursty traffic periods

Engineering Contradiction:
Improvenetwork capacity utilizationVSAvoidperformance predictability
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The system performs preliminary actions by sending probe packets before actual data transfers to measure network conditions in advance. These probe packets capture baseline performance metrics (latency, packet loss) that are used to predict whether upcoming data transfers will meet their performance targets, allowing the system to prepare compensatory actions beforehand.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system implements continuous feedback by monitoring actual transfer performance against predicted performance and using this information to adjust future probe packet frequencies and performance targets. When actual performance deviates from predictions, the system learns from this feedback to improve future predictions and adapt its monitoring strategy.

Inventive Principle:
Principle #23Feedback

2Stability of the object's composition

If congestion control algorithms are used to manage network traffic, then network stability is improved, but flow completion time increases due to rate reduction

Engineering Contradiction:
Improvenetwork stabilityVSAvoidflow completion time
Core Design Contradiction:
Stability of the object's compositionVSDuration of action of moving object

Solution Approach 1:

The system applies partial action by using probe packets that send only a fraction of the actual data traffic volume. These probe packets are sufficient to measure network conditions without triggering full congestion control responses that would slow down actual data transfers. The probe traffic is intentionally kept below thresholds that would activate aggressive rate reduction.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system segments traffic into two distinct types: probe packets for measurement and actual data packets for transfer. Probe packets are sent separately and independently, allowing performance measurement without interfering with the timing and congestion control behavior of actual data flows. This segmentation enables accurate baseline measurement while maintaining normal data transfer performance.

Inventive Principle:
Principle #1Segmentation

3Productivity

If packet spraying is used to distribute traffic across paths, then flow collision is reduced, but path selection complexity increases

Engineering Contradiction:
Improveflow collision reductionVSAvoidpath selection complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The system implements self-service by allowing the network infrastructure itself to handle path selection for sprayed packets. Instead of the application layer making complex path selection decisions, the network switches and routers autonomously distribute packets across available paths based on their own load balancing algorithms, reducing the complexity burden on end systems.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The system changes parameters by using hash functions of packet fields (such as source/destination addresses and ports) to deterministically select paths. This transforms the path selection problem from a complex optimization task into a simple parameter-based lookup, where the hash of packet headers directly determines the selected path, reducing complexity while maintaining good load distribution.

Inventive Principle:
Principle #35Parameter changes

4Measurement precision

If continuous network monitoring is implemented, then fault detection capability is improved, but network overhead increases

Engineering Contradiction:
Improvefault detection capabilityVSAvoidnetwork overhead
Core Design Contradiction:
Measurement precisionVSQuantity of substance

Solution Approach 1:

The system uses partial action by sending probe packets at controlled frequencies rather than continuously monitoring every data packet. Probe packets are sent at rates sufficient to detect network conditions and faults but low enough to minimize overhead. The system adjusts probe frequency dynamically, sending probes more often when network conditions change or faults are suspected and less often during stable periods.

Inventive Principle:
Principle #16Partial or excessive action

Solution Approach 2:

The system performs preliminary measurement using small probe packets before actual data transfers occur. By measuring network conditions in advance with minimal traffic, the system obtains accurate performance baselines without the overhead of monitoring full data flows. This preliminary measurement approach captures network state with fraction of the overhead required for continuous full-traffic monitoring.

Inventive Principle:
Principle #10Preliminary action

Data Source

PatentUS12463888B2Method for verifying flow completion times in data centers
Publication Date: 2025.11.04 AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE LTD
  • US12463888B2 patent drawing
  • US12463888B2 patent drawing
  • US12463888B2 patent drawing

AI summary

Transmissions in a data center communications network are monitored at a sending computer, the transmission of data packets being controlled by control messages sent by a receiving computer. The monitor at the sending computer measures the time that a burst of data takes to be transmitted from the sending computer to the receiving computer. Based on feedback received from the receiving computer, the monitor at the sending computer calculates one of more estimated completion times for the transmission. The estimated completion times will approximately match the measured completion time if the network is not the bottleneck for communication. When there is a mismatch between the estimated and measured completion times, this is logged and the information is used to trigger analysis to detect the reason and possible causes for the network under-performing.