TCP Timestamp Synchronization for Offloaded Network Connections

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

TCP connections offloaded to a network interface device (NID) face challenges with accurate RTT measurement and PAWS mechanism due to non-monotonically increasing timestamp values during migration from host to NID or vice versa, leading to excessive retransmissions and poor performance.

Innovation Solution

Synchronizing the timestamp clocks between the host and NID by transferring a clock value during connection migration, ensuring the timestamp clock never runs backward, and preventing clock acceleration through periodic checks.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If TCP connections are offloaded to NID for processing, then processing efficiency is improved, but timestamp clock synchronization becomes problematic leading to non-monotonically increasing timestamp values

Engineering Contradiction:
Improveprocessing efficiencyVSAvoidtimestamp monotonicity
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements a feedback mechanism where the NID sends timestamp information to the host, and the host responds with synchronization adjustments. This closed-loop feedback ensures the NID's timestamp clock remains synchronized with the host, preventing non-monotonic timestamp values while maintaining connection offloading benefits.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The host acts as an intermediary between the NID and the network protocol requirements. It receives timestamp data from the NID, processes synchronization information, and sends corrective feedback to the NID, thereby mediating the timestamp clock synchronization issue that arises from connection offloading.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Adaptability or versatility

If timestamp clocks are not synchronized between host and NID, then connection migration flexibility is improved, but RTT measurement accuracy deteriorates

Engineering Contradiction:
Improveconnection migration flexibilityVSAvoidRTT measurement accuracy
Core Design Contradiction:
Adaptability or versatilityVSMeasurement precision

Solution Approach 1:

The synchronization feedback mechanism allows the host to provide correction information to the NID based on observed timestamp deviations. This enables the NID to maintain accurate RTT measurements even when connections migrate between host and NID, as the feedback ensures timestamp clocks remain synchronized despite the migration flexibility.

Inventive Principle:
Principle #23Feedback

3Reliability

If PAWS mechanism is implemented without synchronized timestamps, then duplicate segment rejection capability is improved, but erroneous segment discards increase

Engineering Contradiction:
Improveduplicate segment rejection capabilityVSAvoiderroneous segment discards
Core Design Contradiction:
ReliabilityVSObject-affected harmful factors

Solution Approach 1:

The timestamp synchronization feedback ensures that the NID's timestamp clock aligns with the host's clock. This prevents the PAWS mechanism from incorrectly identifying valid segments as duplicates, thereby eliminating erroneous segment discards while maintaining the ability to reject actual duplicate segments.

Inventive Principle:
Principle #23Feedback

Data Source

PatentUS7738500B1TCP timestamp synchronization for network connections that are offloaded to network interface devices
Publication Date: 2010.06.15 ALACRITECH INC
  • US7738500B1 patent drawing
  • US7738500B1 patent drawing
  • US7738500B1 patent drawing

AI summary

A host computer running a TCP connection transfers the connection to a TCP offload network interface device (NID) which performs certain network processes, thereby reducing the load on the host CPU. The NID later transfers the connection back to the host. The host and the NID maintain separate timestamp clocks which provide timestamp values for connections using the TCP Timestamp option. Synchronization of the host and NID timestamp clocks can be realized by transfer of a clock value. The NID or host receives the transferred TCP connection and the transferred clock value, and decides whether to update its own clock to equal the transferred clock value, the decision being guided by the requirement to never allow the timestamp clock to run backward. Acceleration of the timestamp clocks is prevented so that RTT measurements are accurate. Synchronization of the host and NID timestamp clocks improves performance and reduces erroneous connection drops.