Browse Prior Art Database

Robust Automatic Flow Control for High-Speed Data Transmission

IP.com Disclosure Number: IPCOM000103806D
Original Publication Date: 1993-Feb-01
Included in the Prior Art Database: 2005-Mar-18
Document File: 8 page(s) / 387K

Publishing Venue

IBM

Related People

Hall, WE: AUTHOR [+2]

Abstract

In data transmission systems, one function of the Transport Protocol layer is to ensure that data gets delivered from the Transmitting system to the Receiving system reliably, that is no data is lost. One reason for data loss is data corruption due to transmission errors. A more prevalent reason is data lost because the receiving system had no buffer or storage room for the data, and had to discard it. Traditional software-based Transport protocols solve the latter problem via a mechanism known as Flow-control. This is a method of informing the transmitter when it is allowed to send data, i.e. when there is sufficient storage room in the receiver to store the data.

This text was extracted from an ASCII text file.
This is the abbreviated version, containing approximately 12% of the total text.

Robust Automatic Flow Control for High-Speed Data Transmission

      In data transmission systems, one function of the Transport
Protocol layer is to ensure that data gets delivered from the
Transmitting system to the Receiving system reliably, that is no data
is lost.  One reason for data loss is data corruption due to
transmission errors.  A more prevalent reason is data lost because
the receiving system had no buffer or storage room for the data, and
had to discard it.   Traditional software-based Transport protocols
solve the latter problem via a mechanism known as Flow-control.  This
is a method of informing the transmitter when it is allowed to send
data, i.e. when there is sufficient storage room in the receiver to
store the data.

      Traditional software-based flow control mechanisms, of which
there are several, are too slow to be used in Gigabit/second
communication systems, and consume too much computing resource (i.e.
CPU cycles).   The proposed invention implements the flow control
mechanism entirely in dedicated hardware, totally transparently to
the software, and also handles all cases where data transmission
errors could disrupt the flow control mechanism.

Terminology

      The invention consists of a number of circuit elements
contained on two communicating devices, referred to as Node 'A' and
Node 'B'.  For example purposes, Node 'A' will be assumed to be
transmitting blocks of data to Node 'B', however the invention,
suitably duplicated at both nodes, will work in full duplex
operation, i.e., when both nodes are transmitting and receiving data
concurrently.

      Each node contains two logical parts,  a transmitter, which can
send signals out over the communication medium, and a receiver, which
receives those signals from the transmitting node.  The communication
details are not part of the invention, however the invention assumes
that words of binary data (e.g., 32 bit binary words) can be sent and
received, and that words corruped by transmission noise etc., will be
detected at the receiver and discarded.

      The invention also assumes that special coded signals can be
sent which are distinguishable by the receiver from any possible data
words.  These coded signals are used for the flow control mechanism.
There are two types of such signals, TOKENS and MARKERS, and each
token and each marker must also be capable of containing a small
integer (i.e., 0-255).   These signals are sent between the blocks of
data, so the feature that distinguishes them from normal data may be
their location in the transmission stream.

      TOKENS are sent from the receiving node to the transmitting
node to indicate that another block of data is allowed to be
transmitted.  There may be a number of outstanding tokens at any
given time, up to some predetermined maximum.  This maximum being the
maximum amount of available storage for blocks at the receiving node.

      MARKERS are sent from the...