Gateway Flow Control Coordination TCP IP Networks

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Flow control coordination between networks using different protocols, such as TCP/IP and Fibre Channel, is challenging due to congestion issues, where packets are dropped at the gateway if the sending network produces packets faster than the receiving network can consume them, leading to inefficient packet forwarding.

Innovation Solution

A gateway is configured to determine the flow conditions of one network and modulate the flow conditions of another network by adjusting the round trip time (RTT) or TCP window size based on buffer occupancy, ensuring packets are only forwarded when space is available in the transmission buffer, thereby preventing packet drops.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the sending network produces packets at a high rate, then the throughput of the network is improved, but packets are dropped at the gateway when the transmission buffer is full

Engineering Contradiction:
ImprovethroughputVSAvoidpacket delivery
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The gateway implements feedback by sending TCP acknowledgments only when packets are successfully transferred to the transmission buffer. This feedback mechanism informs the sending network about the actual buffer status, causing the sender to adjust its transmission rate dynamically. When the buffer is full, ACKs are delayed, signaling the sender to slow down, thereby preventing packet drops while maintaining high throughput when buffer space is available.

Inventive Principle:
Principle #23Feedback

Solution Approach 2:

The gateway checks buffer occupancy before forwarding packets to the transmission buffer. This preliminary action ensures that packets are only accepted when space is available, preventing buffer overflow conditions before they occur. The gateway proactively manages buffer space by evaluating occupancy status in advance of packet forwarding decisions.

Inventive Principle:
Principle #10Preliminary action

2Speed

If the gateway forwards packets quickly without checking buffer occupancy, then the data transmission speed is improved, but packets are lost when the transmission buffer is full

Engineering Contradiction:
Improvedata transmission speedVSAvoidpacket delivery
Core Design Contradiction:
SpeedVSReliability

Solution Approach 1:

The gateway performs a preliminary check of transmission buffer occupancy status before forwarding packets. This advance checking ensures that packets are only forwarded when space is available, preventing packet loss. The buffer status evaluation occurs proactively before the packet forwarding action, maintaining both speed and reliability.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The gateway provides feedback to the sending network about transmission buffer status through selective acknowledgment. This feedback loop enables the sender to adjust its transmission speed dynamically based on actual buffer conditions, maintaining high data transmission speed when buffer space is available while preventing packet loss when the buffer is full.

Inventive Principle:
Principle #23Feedback

3Reliability

If the gateway implements buffer occupancy checking and selective ACK sending, then packet drops are prevented, but the complexity of the gateway increases

Engineering Contradiction:
Improvepacket deliveryVSAvoidgateway complexity
Core Design Contradiction:
ReliabilityVSDevice complexity

Solution Approach 1:

The gateway leverages the existing TCP acknowledgment mechanism already present in the TCP/IP protocol stack. By selectively sending or delaying ACKs based on buffer status, the gateway uses the protocol's built-in feedback infrastructure rather than implementing a separate complex control system. This approach prevents packet drops while minimizing additional gateway complexity by repurposing existing protocol functions.

Inventive Principle:
Principle #25Self-service

Solution Approach 2:

The TCP acknowledgment mechanism serves multiple functions: it confirms packet receipt, triggers sender transmission, and now also conveys buffer status information for flow control. By making the ACK mechanism multi-functional, the gateway achieves reliable packet delivery without requiring separate dedicated control signals or additional complex infrastructure.

Inventive Principle:
Principle #6Universality (Multi-functionality)

4Reliability

If the gateway delays ACKs until packets are transferred to the transmission buffer, then packet drops are prevented, but the round trip time increases

Engineering Contradiction:
Improvepacket deliveryVSAvoidround trip time
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The gateway performs preliminary buffer occupancy checking before delaying ACKs. This ensures that ACKs are only delayed when necessary to prevent packet drops. When buffer space is available, ACKs are sent immediately without delay, maintaining low round trip time. The preliminary check enables selective delay only when reliability requires it.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The ACK delay mechanism is dynamic rather than static. The gateway adjusts ACK timing based on real-time buffer occupancy conditions. When the buffer has space, ACKs are sent immediately with minimal delay. When the buffer is full, ACKs are delayed appropriately. This dynamic adjustment prevents unnecessary RTT increases while maintaining packet delivery reliability.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS8004981B2Methods and devices for the coordination of flow control between a TCP/IP network and other networks
Publication Date: 2011.08.23 CISCO TECHNOLOGY INC
  • US8004981B2 patent drawing
  • US8004981B2 patent drawing
  • US8004981B2 patent drawing

AI summary

Methods and devices are provided for implementing flow control coordination in a gateway between a TCP/IP network and a second network. The second network may be any type of network, including another TCP/IP network. In some implementations, the throughput of the TCP/IP network is controlled by modifying the round trip time observed by a TCP connection. In other implementations, the throughput of the TCP/IP network is controlled by modifying the size of the TCP window.