NIC Packet Timing Control Using PTP Feedback and Line-Rate Scheduling

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Typical Network Interface Controllers (NICs) lack precise control over packet transmission times due to operating system scheduling limitations and input/output bus jitter, limiting their ability to manage packet timing with accuracy better than a few milliseconds.

Innovation Solution

The method involves a computer network host establishing an expected transmit time for packets and adjusting it based on the actual transmission time, using Precision Time Protocol (PTP) timestamping and scaling adjustments to ensure precise packet timing, allowing for the transmission of additional packets to align with future transmission requests without gaps.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Measurement precision

If typical NICs transmit packets using standard operating system scheduling, then the NIC can operate with simple hardware and standard protocols, but the packet transmission timing precision is limited to a few milliseconds

Engineering Contradiction:
Improvepacket transmission timing precisionVSAvoidNIC control mechanism complexity
Core Design Contradiction:
Measurement precisionVSDevice complexity

Solution Approach 1:

The patent introduces an intermediary timing control mechanism between the host CPU and the NIC. This intermediary maintains a timing state machine that tracks expected transmit times and coordinates packet enqueueing with the NIC's transmission schedule, thereby achieving precise timing control without requiring complex modifications to the NIC hardware itself

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The timing control mechanism uses PTP timestamping capabilities that are increasingly integrated into modern NICs. The system leverages the NIC's own timestamping hardware to record actual transmission times, which are then used by the timing state machine to adjust and refine future transmit time predictions, creating a self-correcting timing system

Inventive Principle:
Principle #25Self-service

2Measurement precision

If the NIC transmits packets as quickly as possible without timing control, then the transmission speed is maximized, but the packet timing becomes unpredictable and cannot meet phase alignment requirements

Engineering Contradiction:
Improvepacket transmission timing precisionVSAvoidpacket transmission throughput
Core Design Contradiction:
Measurement precisionVSProductivity

Solution Approach 1:

The timing control mechanism performs preliminary actions by pre-calculating expected transmit times and pre-enqueuing packets in the host's transmit queue before the NIC is ready to send them. The timing state machine predicts when the NIC will be available and prepares packets in advance, ensuring that packets are ready to transmit at the precise moments when the NIC can send them without idle gaps

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The system maintains continuous useful action by ensuring the NIC transmitter operates continuously without idle gaps. By carefully coordinating packet enqueueing with the NIC's transmission schedule and using PTP timestamping to track actual transmit times, the system keeps the transmission pipeline full and the NIC operating at maximum utilization while maintaining precise timing control

Inventive Principle:
Principle #20Continuity of useful action

3Measurement precision

If the host enqueues packets with the NIC without timing coordination, then the enqueueing process is simple and fast, but queuing delays occur and packet timing cannot be controlled

Engineering Contradiction:
Improvepacket transmission timing precisionVSAvoidqueuing delay
Core Design Contradiction:
Measurement precisionVSLoss of time

Solution Approach 1:

The timing control mechanism implements feedback by using PTP timestamping to measure actual packet transmit times and comparing them with expected transmit times. The timing state machine uses this feedback information to adjust its predictions and refine the timing model, continuously improving the accuracy of future transmit time estimates and reducing queuing delays

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The system applies dynamics by making the packet enqueueing timing adaptive rather than static. The timing state machine dynamically adjusts expected transmit times based on observed actual transmit times from PTP timestamps, allowing the system to adapt to varying network conditions, NIC performance characteristics, and traffic patterns to minimize queuing delays while maintaining precise timing control

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS10944852B2Computer network packet transmission timing
Publication Date: 2021.03.09 CISCO TECHNOLOGY INC
  • US10944852B2 patent drawing
  • US10944852B2 patent drawing
  • US10944852B2 patent drawing

AI summary

Establishing an expected transmit time at which a network interface controller (NIC) is expected to transmit a next packet. Enqueuing, with the NIC and before the expected transmit time, a packet P1 to be transmitted at the expected transmit time. Upon enqueuing P1, incrementing the expected transmit time by an expected transmit duration of P1. Transmitting at the NIC's line rate and timestamping enqueued P1 with its actual transmit time. Adjusting the expected transmit time by a difference between P1's actual transmit and P1's expected transmit time. Requesting, before completion of transmitting P1, to transmit a P2 at time t(P2). Enqueuing, in sequence, zero or more P0, such that the current expected transmit time plus the duration of the transmission of the P0s at the line rate equals t(P2). Transmitting at the line rate each enqueued P0. Upon enqueuing each P0, incrementing, for each P0, the expected transmit time by the expected transmit duration of the P0. Enqueuing P2 for transmission directly following enqueuing the final P0. Transmitting, by the NIC, enqueued P2 at t(P2).